JP2012064199A - Position calculating system, position calculating device, position calculating program and position calculating method - Google Patents
Position calculating system, position calculating device, position calculating program and position calculating method Download PDFInfo
- Publication number
- JP2012064199A JP2012064199A JP2011126525A JP2011126525A JP2012064199A JP 2012064199 A JP2012064199 A JP 2012064199A JP 2011126525 A JP2011126525 A JP 2011126525A JP 2011126525 A JP2011126525 A JP 2011126525A JP 2012064199 A JP2012064199 A JP 2012064199A
- Authority
- JP
- Japan
- Prior art keywords
- data
- game
- virtual space
- input
- terminal device
- 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
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】3次元空間における位置を容易に指定することを可能とする。
【解決手段】位置算出システムは、操作装置に対する操作に基づいて3次元の仮想空間内の位置を算出する。位置算出システムにおいては、操作装置の姿勢と、操作装置に設けられた所定の入力面に対する入力位置とに基づいて仮想空間内の位置が算出される。より具体的には、位置算出システムは、仮想空間内の位置として、仮想空間内において操作装置の姿勢に応じて決められる面上の位置を入力位置に基づいて算出するようにしてもよい。
【選択図】図13A position in a three-dimensional space can be easily specified.
A position calculation system calculates a position in a three-dimensional virtual space based on an operation on an operation device. In the position calculation system, the position in the virtual space is calculated based on the attitude of the controller device and the input position with respect to a predetermined input surface provided in the controller device. More specifically, the position calculation system may calculate the position on the surface determined according to the attitude of the controller device in the virtual space as the position in the virtual space based on the input position.
[Selection] Figure 13
Description
本発明は、操作装置に対する操作に基づいて3次元の位置を算出する位置算出システム、位置算出装置、位置算出プログラム、および位置算出方法に関する。 The present invention relates to a position calculation system, a position calculation apparatus, a position calculation program, and a position calculation method that calculate a three-dimensional position based on an operation on an operation apparatus.
従来、タッチパネルやタッチパッド等の入力装置を用いて画面上の任意の位置に対して入力を行う技術がある。例えば、特許文献1には、タッチパネルを備えるゲーム装置において、タッチパネルに対する入力によって描かれた軌跡に基づいて、ゲーム空間内のキャラクタの移動を制御する技術が記載されている。これによれば、プレイヤは、2次元平面におけるゲーム空間内の位置を自由に指定してゲーム操作を行うことができる。 2. Description of the Related Art Conventionally, there is a technique for inputting an arbitrary position on a screen using an input device such as a touch panel or a touch pad. For example, Patent Document 1 describes a technique for controlling the movement of a character in a game space based on a trajectory drawn by an input on a touch panel in a game device including a touch panel. According to this, the player can perform a game operation by freely specifying a position in the game space on the two-dimensional plane.
従来の技術においては、タッチパネル等の入力装置を用いることによって2次元平面における位置を指定することは可能であったが、3次元空間における位置を指定することは難しかった。例えば上記特許文献1に記載の技術では、ゲーム空間が2次元平面である場合にはゲーム空間内の任意の位置を指定することが可能であるが、3次元のゲーム空間の場合にはゲーム空間内の位置を適切に指定することができない。 In the prior art, it was possible to designate a position in a two-dimensional plane by using an input device such as a touch panel, but it was difficult to designate a position in a three-dimensional space. For example, in the technique described in Patent Document 1, it is possible to specify an arbitrary position in the game space when the game space is a two-dimensional plane, but in the case of a three-dimensional game space, the game space The position in cannot be specified properly.
それ故、本発明の目的は、3次元空間における位置を容易に指定することができる位置算出システム等を提供することである。 Therefore, an object of the present invention is to provide a position calculation system that can easily specify a position in a three-dimensional space.
本発明は、上記の課題を解決するために、以下の(1)〜(15)の構成を採用した。 The present invention employs the following configurations (1) to (15) in order to solve the above problems.
(1)
本発明の一例は、操作装置に対する操作に基づいて3次元の仮想空間内の位置を算出する位置算出システムである。位置算出システムは、操作装置の姿勢と、操作装置に設けられた所定の入力面に対する入力位置とに基づいて仮想空間内の位置を算出する。
(1)
An example of the present invention is a position calculation system that calculates a position in a three-dimensional virtual space based on an operation on an operation device. The position calculation system calculates a position in the virtual space based on the attitude of the controller device and the input position with respect to a predetermined input surface provided in the controller device.
上記「位置算出システム」は、後述する実施形態においては、操作装置である端末装置と、情報処理装置であるゲーム装置という複数の装置で実現されるものに限らず、1つの装置によって実現されてもよい。例えば、操作装置と情報処理装置との機能を果たす携帯型の情報処理装置によって位置算出システムが実現されてもよい。 In the embodiment described later, the “position calculation system” is not limited to being realized by a plurality of devices such as a terminal device that is an operation device and a game device that is an information processing device, and is realized by a single device. Also good. For example, the position calculation system may be realized by a portable information processing device that functions as an operation device and an information processing device.
上記(1)の構成によれば、操作装置の姿勢を変化させる操作と、操作装置の入力面に対して位置を入力する操作とによって、3次元空間における位置を指定することができる。つまり、上記(1)の構成によれば、ユーザは、操作装置を用いて3次元空間における位置を容易に指定することができる。 According to the configuration of (1) above, the position in the three-dimensional space can be specified by the operation of changing the attitude of the controller device and the operation of inputting the position with respect to the input surface of the controller device. That is, according to the configuration of (1) above, the user can easily specify the position in the three-dimensional space using the operation device.
(2)
位置算出システムは、操作装置と情報処理装置とを含んでいてもよい。
操作装置は、位置検出部と、センサ部と、データ送信部を備える。位置検出部は、入力面に対する入力位置を検出する。センサ部は、姿勢を算出するためのデータを出力する。データ送信部は、位置検出部およびセンサ部から出力されるデータを情報処理装置へ送信する。
情報処理装置は、姿勢算出部と、位置算出部とを備える。姿勢算出部は、センサ部が出力するデータに基づいて、操作装置の姿勢を算出する。位置算出部は、姿勢と入力位置とに基づいて仮想空間内の位置を算出する。
(2)
The position calculation system may include an operation device and an information processing device.
The operating device includes a position detection unit, a sensor unit, and a data transmission unit. The position detection unit detects an input position with respect to the input surface. The sensor unit outputs data for calculating the posture. The data transmission unit transmits data output from the position detection unit and the sensor unit to the information processing apparatus.
The information processing apparatus includes an attitude calculation unit and a position calculation unit. The posture calculation unit calculates the posture of the controller device based on the data output from the sensor unit. The position calculation unit calculates a position in the virtual space based on the posture and the input position.
上記「操作装置」は、後述する実施形態における端末装置7の他、位置検出部とセンサ部とを備え、データを情報処理装置へ送信する機能を有していればどのような装置であってもよい。
上記「情報処理装置」は、上記の各部における処理を実行する装置であればどのようなものであってもよい。上記情報処理装置は、ゲーム専用の情報処理装置であってもよいし、一般的なパーソナルコンピュータのような多用途の情報処理装置であってもよい。
上記「位置検出部」は、後述する実施形態におけるタッチパネルの他、タッチパッドであってもよい。つまり、操作装置は表示画面を備えていなくてもよい。
上記「センサ部」は、加速度センサあるいはジャイロセンサ等の慣性センサの他、後述する磁気センサ等、その検出結果に基づいて姿勢を算出することが可能な任意のセンサを含む概念である。
The “operation device” is any device provided with a position detection unit and a sensor unit in addition to the terminal device 7 in an embodiment to be described later and having a function of transmitting data to the information processing device. Also good.
The “information processing device” may be any device as long as it is a device that executes processing in each of the above-described units. The information processing apparatus may be an information processing apparatus dedicated to a game or a multipurpose information processing apparatus such as a general personal computer.
The “position detection unit” may be a touch pad in addition to a touch panel in an embodiment described later. That is, the operating device does not have to include a display screen.
The “sensor unit” is a concept including an arbitrary sensor capable of calculating a posture based on the detection result, such as an inertial sensor such as an acceleration sensor or a gyro sensor, or a magnetic sensor described later.
上記(2)の構成によれば、操作装置からのデータが情報処理装置において受信され、情報処理装置が当該データに基づいて3次元位置を算出する。これによれば、操作装置は位置の算出処理を実行する機能を有しなくてもよいので、操作装置の構成を簡易化することができ、操作装置の省サイズ化、軽量化を図ることができる。 According to the configuration of (2) above, data from the controller device is received by the information processing device, and the information processing device calculates a three-dimensional position based on the data. According to this, since the operating device does not have to have a function of executing the position calculation process, the configuration of the operating device can be simplified, and the size and weight of the operating device can be reduced. it can.
(3)
センサ部は慣性センサを含んでいてもよい。
(3)
The sensor unit may include an inertial sensor.
上記(3)の構成によれば、加速度センサあるいはジャイロセンサといった慣性センサの出力を用いることによって、操作装置の姿勢を容易に算出(推測)することができる。 With configuration (3) above, the attitude of the controller device can be easily calculated (estimated) by using the output of an inertial sensor such as an acceleration sensor or a gyro sensor.
(4)
操作装置は、仮想空間を表す画像が表示される表示部をさらに備えていてもよい。
(4)
The operating device may further include a display unit that displays an image representing the virtual space.
上記(4)の構成によれば、仮想空間を表す画像が操作装置に表示されるので、ユーザは、仮想空間の様子を手元の操作装置で確認することができる。 According to the configuration (4) above, the image representing the virtual space is displayed on the operating device, so that the user can check the state of the virtual space with the operating device at hand.
(5)
位置検出部は、表示部の画面上に設けられるタッチパネルであってもよい。
(5)
The position detection unit may be a touch panel provided on the screen of the display unit.
上記(5)の構成によれば、操作装置の画面上にタッチパネルが設けられるので、プレイヤは、当該画面上をタッチする操作によって3次元位置を指示することができる。したがって、3次元位置を指示するためのタッチ入力操作がより容易になる。 According to the configuration of (5) above, since the touch panel is provided on the screen of the operating device, the player can specify the three-dimensional position by an operation of touching the screen. Therefore, a touch input operation for designating a three-dimensional position becomes easier.
(6)
位置算出システムは、仮想空間内の位置として、仮想空間内において操作装置の姿勢に応じて決められる面上の位置を入力位置に基づいて算出する位置算出部を備えていてもよい。
(6)
The position calculation system may include a position calculation unit that calculates a position on the surface determined according to the attitude of the controller device in the virtual space based on the input position as the position in the virtual space.
上記「面」は、平面であってもよいし、曲面であってもよいし、操作装置の姿勢に応じて形状を変化させるものであってもよい。また、「面」は、表示装置に表示されなくてもよい。つまり、「面」は、仮想空間においてオブジェクトとして配置されなくてもよいし、透明なオブジェクトとして配置されてもよい。 The “surface” may be a flat surface, a curved surface, or a shape whose shape is changed according to the attitude of the operating device. In addition, the “surface” may not be displayed on the display device. That is, the “surface” may not be arranged as an object in the virtual space, or may be arranged as a transparent object.
上記(6)の構成によれば、ユーザは、操作装置の入力面に対する入力によって、仮想空間内の面上の位置を指定することができ、また、この面は操作装置の姿勢に応じて変化する。したがって、ユーザは、操作装置の姿勢を変化させつつ、入力面上の位置を指定することで、3次元の仮想空間における位置を容易に指定することができる。上記(6)の構成によれば、タッチパネルやタッチパッド等の平面的な入力面に対する入力に基づいて、3次元空間における位置を容易に指定することができる。 According to the configuration of (6) above, the user can specify a position on a surface in the virtual space by an input to the input surface of the controller device, and this surface changes according to the attitude of the controller device. To do. Therefore, the user can easily specify the position in the three-dimensional virtual space by specifying the position on the input surface while changing the attitude of the controller device. According to the configuration of (6) above, the position in the three-dimensional space can be easily specified based on the input to the planar input surface such as the touch panel or the touch pad.
(7)
位置算出システムは、操作装置の姿勢に応じて面の姿勢が変化するように面を設定する面設定部をさらに備えていてもよい。
(7)
The position calculation system may further include a surface setting unit that sets the surface such that the posture of the surface changes according to the posture of the controller device.
上記(7)の構成によれば、ユーザは、操作装置の姿勢を変化させる操作によって面の姿勢を変化させることができる。これによれば、操作装置を傾ける操作によって仮想空間内の面を実際に傾けているかのような操作感覚をユーザに与えることができ、より直感的でわかりやすい操作を提供することができる。 With configuration (7) above, the user can change the posture of the surface by an operation that changes the posture of the controller device. According to this, it is possible to give the user a sense of operation as if the surface in the virtual space is actually tilted by the operation of tilting the operation device, and it is possible to provide a more intuitive and easy-to-understand operation.
(8)
操作装置は、表示部と、タッチパネルとを備えていてもよい。表示部は、面の領域を含む仮想空間を表す画像を表示する。タッチパネルは、表示部の画面上に設けられる。このとき、位置算出部は、タッチパネルに対する入力位置と、当該入力位置に基づいて算出される面上の位置とが画面上において一致するように、当該位置を算出する。
(8)
The operating device may include a display unit and a touch panel. The display unit displays an image representing a virtual space including a surface area. The touch panel is provided on the screen of the display unit. At this time, the position calculation unit calculates the position so that the input position on the touch panel and the position on the surface calculated based on the input position match on the screen.
上記(8)の構成によれば、ユーザは、表示部の画面上の位置を指定(タッチ)することで、その位置に対応する仮想空間内の位置を指定することができる。これによって、ユーザは、より直感的で分かりやすい操作によって3次元空間における位置を指定することができる。 With configuration (8) above, the user can designate (touch) the position of the display unit on the screen, thereby designating the position in the virtual space corresponding to the position. Thus, the user can specify a position in the three-dimensional space by a more intuitive and easy-to-understand operation.
(9)
位置算出システムは、入力位置に基づく仮想空間内の位置を入力として所定の処理を実行する処理実行部を備えていてもよい。
(9)
The position calculation system may include a process execution unit that executes a predetermined process using a position in the virtual space based on the input position as an input.
上記(9)の構成によれば、位置算出システムは、ユーザによって入力された3次元の位置を入力として各種の処理を実行することができる。 According to the configuration of (9) above, the position calculation system can execute various processes using the three-dimensional position input by the user as an input.
(10)
処理実行部は、仮想空間に設定される複数の領域から、入力位置に基づく仮想空間内の位置を含む領域を特定し、特定された領域に対応する音を所定の音声出力部に出力させてもよい。
(10)
The process execution unit identifies a region including a position in the virtual space based on the input position from a plurality of regions set in the virtual space, and causes a predetermined sound output unit to output a sound corresponding to the identified region. Also good.
上記「所定の音声出力部」は、位置算出システムに含まれる装置とは別の装置に設けられていてもよい。つまり、位置算出システムは所定の音声出力部を含む構成であってもよいし、含まない構成であってもよい。例えば、所定の情報処理装置が処理実行部を備えており、情報処理装置に接続されるテレビのスピーカが「所定の音声出力部」として用いられてもよい。また、操作装置に設けられるスピーカが「所定の音声出力部」として用いられてもよい。 The “predetermined audio output unit” may be provided in a device different from the device included in the position calculation system. That is, the position calculation system may include a predetermined audio output unit or may not include the predetermined sound output unit. For example, a predetermined information processing apparatus may include a process execution unit, and a television speaker connected to the information processing apparatus may be used as the “predetermined audio output unit”. Further, a speaker provided in the operation device may be used as the “predetermined audio output unit”.
上記(10)の構成によれば、ユーザは、操作装置を用いて仮想空間内の3次元位置を指定する操作によって音を出力することができる。これによって、例えば、仮想空間に配置された各領域を指定することによって仮想の楽器を演奏するような操作をユーザに提供することができる。 According to the configuration of (10) above, the user can output sound by an operation that designates a three-dimensional position in the virtual space using the operation device. Thereby, for example, an operation of playing a virtual musical instrument can be provided to the user by designating each region arranged in the virtual space.
(11)
複数の領域は、略円弧状に配置されてもよい。このとき、位置算出システムは、面設定部と、位置算出部とを備える。面設定部は、操作装置の姿勢の変化に応じて複数の領域上を移動するように仮想空間において面を設定する。位置算出部は、面上の位置を入力位置に基づいて算出する。
(11)
The plurality of regions may be arranged in a substantially arc shape. At this time, the position calculation system includes a surface setting unit and a position calculation unit. The surface setting unit sets a surface in the virtual space so as to move on a plurality of regions in accordance with a change in the attitude of the controller device. The position calculation unit calculates a position on the surface based on the input position.
上記(11)の構成によれば、ユーザは、操作装置を回転させる(姿勢を変化させる)操作によって、略円弧状に配置される複数の領域上において面を回転移動させることができる。これによれば、操作装置の動きと面の動きとが共に回転運動となり、両者の動きが対応するので、操作装置の操作がプレイヤにとってより直感的で分かりやすいものとなる。 According to the configuration of (11) above, the user can rotate the surface on a plurality of regions arranged in a substantially arc shape by an operation of rotating the operating device (changing the posture). According to this, both the movement of the operation device and the movement of the surface are rotational movements, and the movements of both correspond to each other, so that the operation of the operation device is more intuitive and easy to understand for the player.
(12)
位置算出システムは、オブジェクト設定部と、画像生成部とを備えていてもよい。オブジェクト設定部は、所定のオブジェクトを仮想空間に設定する。画像生成部は、所定の表示装置に表示するための画像として、所定のオブジェクトを含む仮想空間を表す画像を生成する。このとき、処理実行部は、入力位置に基づく仮想空間内の位置として所定のオブジェクトの位置が算出された場合に所定の処理を実行する。
(12)
The position calculation system may include an object setting unit and an image generation unit. The object setting unit sets a predetermined object in the virtual space. The image generation unit generates an image representing a virtual space including a predetermined object as an image to be displayed on a predetermined display device. At this time, the process execution unit executes the predetermined process when the position of the predetermined object is calculated as the position in the virtual space based on the input position.
上記(12)の構成によれば、ユーザは、操作装置を用いて仮想空間内の3次元位置を指定する操作によって、仮想空間内のオブジェクトに対して入力を行う操作を行うことができる。また、操作対象となるオブジェクトが表示装置に表示されるので、ユーザはオブジェクトに対する操作を容易に行うことができる。 According to the configuration of (12) above, the user can perform an operation of inputting an object in the virtual space by an operation of specifying a three-dimensional position in the virtual space using the operation device. In addition, since the object to be operated is displayed on the display device, the user can easily operate the object.
(13)
画像生成部は、第1生成部と、第2生成部とを含んでいてもよい。第1生成部は、操作装置が備える表示装置に表示するための画像として、操作装置の姿勢に応じて範囲が変化するようにオブジェクトの一部の範囲を表す画像を生成する。第2生成部は、操作装置が備える表示装置とは別の表示装置に表示するための画像として、オブジェクトのうちの一部の範囲よりも広い範囲を表す画像を生成する。
(13)
The image generation unit may include a first generation unit and a second generation unit. A 1st production | generation part produces | generates the image showing the partial range of an object so that a range may change according to the attitude | position of an operating device as an image for displaying on the display apparatus with which an operating device is provided. A 2nd production | generation part produces | generates the image showing the range wider than the one part range of objects as an image for displaying on a display apparatus different from the display apparatus with which an operating device is provided.
上記(13)の構成によれば、操作装置には相対的に拡大された画像が表示されるので入力の操作が行いやすくなる。さらに、別の表示装置には相対的に広範囲の画像が表示されるので、ユーザは操作装置における表示範囲の周囲の状況を知ることもできる。このように、上記(13)の構成によれば、操作性の良い入力システムを提供することができる。 According to the configuration of (13) above, since the relatively enlarged image is displayed on the operation device, it is easy to perform an input operation. Furthermore, since a relatively wide range of images are displayed on another display device, the user can also know the situation around the display range of the operation device. Thus, according to the configuration of (13) above, an input system with good operability can be provided.
(14)
位置算出システムは、オブジェクト配置部と、画像生成部とを備えていてもよい。オブジェクト配置部は、操作装置の姿勢に対応して姿勢が制御されるオブジェクトを仮想空間に配置する。画像生成部は、所定の表示装置に表示するための画像として、オブジェクトを含む仮想空間を表す画像を生成する。
(14)
The position calculation system may include an object placement unit and an image generation unit. The object placement unit places an object whose posture is controlled corresponding to the posture of the controller device in the virtual space. The image generation unit generates an image representing a virtual space including the object as an image to be displayed on a predetermined display device.
上記(14)の構成によれば、操作装置の姿勢に対応して姿勢が変化するオブジェクトが表示装置に表示されるので、操作装置の姿勢を画面上で確認することができ、操作装置に対する操作をより容易に行うことができる。 According to the configuration of (14) above, since the object whose posture changes in accordance with the posture of the operating device is displayed on the display device, the posture of the operating device can be confirmed on the screen, and the operation on the operating device can be performed. Can be performed more easily.
(15)
操作装置は、仮想空間に配置される鍵盤を表示する表示部を備えていてもよい。このとき、位置算出システムは、入力位置に基づく仮想空間内の位置として鍵盤の位置が算出された場合、当該位置に対応する鍵盤に応じた音を所定の音声出力部に出力させる。
(15)
The operating device may include a display unit that displays a keyboard arranged in the virtual space. At this time, when the position of the keyboard is calculated as a position in the virtual space based on the input position, the position calculation system outputs a sound corresponding to the keyboard corresponding to the position to a predetermined sound output unit.
上記(15)の構成によれば、仮想空間に配置される鍵盤を操作装置を用いて指定する操作によって、音声出力部から音が出力される。これによれば、ユーザは、操作装置を用いて、仮想空間に配置される鍵盤楽器を演奏する操作を行うことができる。 According to the configuration of (15) above, sound is output from the sound output unit by an operation of designating a keyboard arranged in the virtual space using the operation device. According to this, the user can perform an operation of playing the keyboard instrument arranged in the virtual space using the operation device.
なお、本発明の別の一例は、上記(1)〜(15)の位置算出システムに含まれる情報処理装置、あるいは、当該位置算出システムと同機能の情報処理装置(位置算出装置)であってもよい。また、上記情報処理装置における各部と同等の手段としてコンピュータを機能させる情報処理プログラム(位置算出プログラム)であってもよい。さらに、本発明の別の一例は、上記の位置算出システムまたは情報処理装置において行われる位置算出方法の形態であってもよい。 Another example of the present invention is an information processing apparatus included in the position calculation system described in (1) to (15) above, or an information processing apparatus (position calculation apparatus) having the same function as the position calculation system. Also good. Further, an information processing program (position calculation program) that causes a computer to function as means equivalent to each unit in the information processing apparatus may be used. Furthermore, another example of the present invention may be a form of a position calculation method performed in the position calculation system or the information processing apparatus.
本発明によれば、操作装置の姿勢を変化させる操作と、操作装置の入力面に対して位置を入力する操作とによって、3次元空間における位置を指定することができるので、ユーザは、操作装置を用いて3次元空間における位置を容易に指定することができる。 According to the present invention, the position in the three-dimensional space can be specified by the operation for changing the attitude of the operating device and the operation for inputting the position with respect to the input surface of the operating device. The position in the three-dimensional space can be easily specified using
[1.ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。図1は、ゲームシステム1の外観図である。図1において、ゲームシステム1は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)2、据置型のゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、端末装置7を含む。ゲームシステム1は、コントローラ5および端末装置7を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ2および/または端末装置7に表示するものである。
[1. Overall configuration of game system]
Hereinafter, a game system 1 according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is an external view of the game system 1. In FIG. 1, a game system 1 includes a stationary display device (hereinafter referred to as “TV”) 2 typified by a television receiver, a stationary game device 3, an optical disc 4, a controller 5, and a marker device. 6 and the terminal device 7. The game system 1 executes game processing in the game device 3 based on a game operation using the controller 5 and the terminal device 7, and displays a game image obtained by the game processing on the television 2 and / or the terminal device 7. is there.
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。 An optical disk 4 that is an example of an information storage medium that can be used interchangeably with the game apparatus 3 is detachably inserted into the game apparatus 3. The optical disc 4 stores an information processing program (typically a game program) to be executed in the game apparatus 3. An insertion slot for the optical disk 4 is provided on the front surface of the game apparatus 3. The game apparatus 3 executes the game process by reading and executing the information processing program stored in the optical disc 4 inserted into the insertion slot.
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ2はスピーカ2a(図2)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置3と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置3とテレビ2との通信は無線通信であってもよい。 The game apparatus 3 is connected to the television 2 via a connection cord. The television 2 displays a game image obtained by a game process executed in the game device 3. The television 2 has a speaker 2a (FIG. 2), and the speaker 2a outputs game sound obtained as a result of the game processing. In other embodiments, the game apparatus 3 and the stationary display apparatus may be integrated. The communication between the game apparatus 3 and the television 2 may be wireless communication.
テレビ2の画面の周辺(図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザ(プレイヤ)はコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、コントローラ5の動きや位置や姿勢等をゲーム装置3が算出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、テレビ2の前方に向かって赤外光を出力する。マーカ装置6は有線で(無線であってもよい)ゲーム装置3に接続されており、ゲーム装置3はマーカ装置6が備える各赤外LEDの点灯を制御することが可能である。なお、マーカ装置6は可搬型であり、ユーザはマーカ装置6を自由な位置に設置することができる。図1ではマーカ装置6がテレビ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。 A marker device 6 is installed around the screen of the television 2 (upper side of the screen in FIG. 1). Although details will be described later, the user (player) can perform a game operation to move the controller 5, and the marker device 6 is used for the game device 3 to calculate the movement, position, posture, and the like of the controller 5. The marker device 6 includes two markers 6R and 6L at both ends thereof. The marker 6 </ b> R (same for the marker 6 </ b> L) is specifically one or more infrared LEDs (Light Emitting Diodes), and outputs infrared light toward the front of the television 2. The marker device 6 is connected to the game device 3 by wire (may be wireless), and the game device 3 can control lighting of each infrared LED provided in the marker device 6. The marker device 6 is portable, and the user can install the marker device 6 at a free position. Although FIG. 1 shows a mode in which the marker device 6 is installed on the television 2, the position and orientation in which the marker device 6 is installed are arbitrary.
コントローラ5は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に与えるものである。コントローラ5とゲーム装置3とは無線通信によって通信可能である。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。また、図1では、ゲームシステム1に含まれるコントローラ5は1つとするが、ゲームシステム1は複数のコントローラ5を含んでいてもよい。つまり、ゲーム装置3は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ5の詳細な構成については後述する。 The controller 5 gives operation data representing the content of the operation performed on the own device to the game apparatus 3. The controller 5 and the game apparatus 3 can communicate with each other by wireless communication. In the present embodiment, for example, Bluetooth (registered trademark) technology is used for wireless communication between the controller 5 and the game apparatus 3. In other embodiments, the controller 5 and the game apparatus 3 may be connected by wire. In FIG. 1, the game system 1 includes one controller 5, but the game system 1 may include a plurality of controllers 5. That is, the game apparatus 3 can communicate with a plurality of controllers, and a plurality of people can play a game by using a predetermined number of controllers simultaneously. A detailed configuration of the controller 5 will be described later.
端末装置7は、可搬型であり、ユーザが把持可能な程度の大きさである。ユーザは端末装置7を手に持って動かしたり、あるいは、端末装置7を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置7は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)51、および、入力手段(後述するタッチパネル52やジャイロセンサ74等)を備える。端末装置7とゲーム装置3とは無線(有線であってもよい)によって通信可能である。端末装置7は、ゲーム装置3で生成された画像(例えばゲーム画像)のデータをゲーム装置3から受信し、画像をLCD51に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置7は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置7は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に送信する。 The terminal device 7 is portable and has a size that can be held by a user. The user can use the terminal device 7 by holding it in his hand or by placing the terminal device 7 in a free position. Although the detailed configuration will be described later, the terminal device 7 includes an LCD (Liquid Crystal Display: liquid crystal display) 51 which is a display means, and input means (a touch panel 52, a gyro sensor 74 and the like which will be described later). The terminal device 7 and the game device 3 can communicate wirelessly (may be wired). The terminal device 7 receives data of an image (for example, a game image) generated by the game device 3 from the game device 3 and displays the image on the LCD 51. In the present embodiment, an LCD is used as the display device. However, the terminal device 7 may have any other display device such as a display device using EL (Electro Luminescence). . In addition, the terminal device 7 transmits operation data representing the content of the operation performed on the own device to the game device 3.
[2.ゲーム装置3の内部構成]
次に、図2を参照して、ゲーム装置3の内部構成について説明する。図2は、ゲーム装置3の内部構成を示すブロック図である。ゲーム装置3は、CPU(Central Processing Unit)10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
[2. Internal configuration of game device 3]
Next, the internal configuration of the game apparatus 3 will be described with reference to FIG. FIG. 2 is a block diagram showing an internal configuration of the game apparatus 3. The game apparatus 3 includes a CPU (Central Processing Unit) 10, a system LSI 11, an external main memory 12, a ROM / RTC 13, a disk drive 14, an AV-IC 15, and the like.
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。 The CPU 10 executes a game process by executing a game program stored on the optical disc 4, and functions as a game processor. The CPU 10 is connected to the system LSI 11. In addition to the CPU 10, an external main memory 12, a ROM / RTC 13, a disk drive 14, and an AV-IC 15 are connected to the system LSI 11. The system LSI 11 performs processing such as control of data transfer between components connected thereto, generation of an image to be displayed, and acquisition of data from an external device. The internal configuration of the system LSI 11 will be described later. The volatile external main memory 12 stores a program such as a game program read from the optical disc 4 or a game program read from the flash memory 17, or stores various data. Used as a work area and buffer area. The ROM / RTC 13 includes a ROM (so-called boot ROM) in which a program for starting the game apparatus 3 is incorporated, and a clock circuit (RTC: Real Time Clock) that counts time. The disk drive 14 reads program data, texture data, and the like from the optical disk 4 and writes the read data to an internal main memory 11e or an external main memory 12 described later.
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM(Video RAM)11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。 The system LSI 11 is provided with an input / output processor (I / O processor) 11a, a GPU (Graphics Processor Unit) 11b, a DSP (Digital Signal Processor) 11c, a VRAM (Video RAM) 11d, and an internal main memory 11e. Although not shown, these components 11a to 11e are connected to each other by an internal bus.
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置3は、テレビ2に表示する画像(ゲーム画像)と、端末装置7に表示する画像(ゲーム画像)との両方を生成する。以下では、テレビ2に表示される画像を「テレビ用画像」と呼び、端末装置7に表示される画像を「端末用画像」と呼ぶことがある。 The GPU 11b forms part of a drawing unit and generates an image according to a graphics command (drawing command) from the CPU 10. The VRAM 11d stores data (data such as polygon data and texture data) necessary for the GPU 11b to execute the graphics command. When an image is generated, the GPU 11b creates image data using data stored in the VRAM 11d. In the present embodiment, the game device 3 generates both an image (game image) displayed on the television 2 and an image (game image) displayed on the terminal device 7. Hereinafter, an image displayed on the television 2 may be referred to as a “television image”, and an image displayed on the terminal device 7 may be referred to as a “terminal image”.
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、音声(ゲーム音声)についてもゲーム画像と同様、テレビ2のスピーカから出力する音声と、端末装置7のスピーカから出力する音声との両方が生成される。以下では、テレビ2から出力される音声を「テレビ用音声」と呼び、端末装置7から出力される音声を「端末用音声」と呼ぶことがある。 The DSP 11c functions as an audio processor, and generates sound data using sound data and sound waveform (tone color) data stored in the internal main memory 11e and the external main memory 12. In the present embodiment, as for the sound (game sound), both the sound output from the speaker of the television 2 and the sound output from the speaker of the terminal device 7 are generated as in the case of the game image. Hereinafter, the audio output from the television 2 may be referred to as “television audio”, and the audio output from the terminal device 7 may be referred to as “terminal audio”.
上記のようにゲーム装置3において生成される画像および音声のうちで、テレビ2において出力される画像および音声のデータは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2へ出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aへ出力する。これによって、テレビ2に画像が表示されるとともにスピーカ2aから音が出力される。なお、ゲーム装置3とテレビ2との接続は、どのような方式で行われてもよいが、ゲーム装置3は、テレビ2を制御する制御指令を有線または無線でテレビ2へ送信するようにしてもよい。例えばHDMI(High−Definition Multimedia Interface)規格に則ったHDMIケーブルが用いられてもよい。HDMI規格では、CEC(Consumer Electronics Control)と呼ばれる機能によって、接続相手の機器を制御することが可能である。したがって、HDMIケーブルが用いられる場合のように、ゲーム装置3がテレビ2に対する制御が可能である場合には、ゲーム装置3は、適宜のタイミングでテレビ2の電源をオンにしたり、テレビ2の入力を切り替えたりすることができる。 Of the images and sounds generated by the game apparatus 3 as described above, image and sound data output by the television 2 is read by the AV-IC 15. The AV-IC 15 outputs the read image data to the television 2 via the AV connector 16, and outputs the read audio data to the speaker 2 a built in the television 2. Thus, an image is displayed on the television 2 and a sound is output from the speaker 2a. The game apparatus 3 and the television 2 may be connected by any method, but the game apparatus 3 transmits a control command for controlling the television 2 to the television 2 by wire or wirelessly. Also good. For example, an HDMI cable conforming to the HDMI (High-Definition Multimedia Interface) standard may be used. In the HDMI standard, it is possible to control a connected device by a function called CEC (Consumer Electronics Control). Accordingly, when the game apparatus 3 can control the television 2 as in the case where an HDMI cable is used, the game apparatus 3 turns on the television 2 at an appropriate timing or inputs the television 2. Can be switched.
また、ゲーム装置3において生成される画像および音声のうちで、端末装置7において出力される画像および音声のデータは、入出力プロセッサ11a等によって端末装置7へ送信される。入出力プロセッサ11a等による端末装置7へのデータの送信については後述する。 Of the images and sounds generated by the game apparatus 3, the image and sound data output from the terminal apparatus 7 is transmitted to the terminal apparatus 7 by the input / output processor 11a and the like. Data transmission to the terminal device 7 by the input / output processor 11a and the like will be described later.
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。また、ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。コーデックLSI27は端末通信モジュール28に接続され、端末通信モジュール28にはアンテナ29が接続される。 The input / output processor 11a performs transmission / reception of data to / from components connected to the input / output processor 11a and downloads data from an external device. The input / output processor 11a is connected to the flash memory 17, the network communication module 18, the controller communication module 19, the expansion connector 20, the memory card connector 21, and the codec LSI 27. An antenna 22 is connected to the network communication module 18. An antenna 23 is connected to the controller communication module 19. The codec LSI 27 is connected to a terminal communication module 28, and an antenna 29 is connected to the terminal communication module 28.
ゲーム装置3は、インターネット等のネットワークに接続して外部の情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続可能であり、ネットワークに接続される他の情報処理装置と通信を行うことができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と外部情報処理装置との間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17にはゲームプログラムが記憶されてもよい。 The game device 3 can connect to a network such as the Internet and communicate with an external information processing device (for example, another game device or various servers). In other words, the input / output processor 11a can be connected to a network such as the Internet via the network communication module 18 and the antenna 22, and can communicate with other information processing apparatuses connected to the network. The input / output processor 11a periodically accesses the flash memory 17 to detect the presence / absence of data that needs to be transmitted to the network. If there is such data, the input / output processor 11a communicates with the network via the network communication module 18 and the antenna 22. Send. Further, the input / output processor 11a receives data transmitted from the external information processing apparatus or data downloaded from the download server via the network, the antenna 22 and the network communication module 18, and receives the received data in the flash memory 17. Remember. By executing the game program, the CPU 10 reads out the data stored in the flash memory 17 and uses it in the game program. In addition to data transmitted and received between the game apparatus 3 and the external information processing apparatus, the flash memory 17 stores game save data (game result data or intermediate data) played using the game apparatus 3. May be. The flash memory 17 may store a game program.
また、ゲーム装置3は、コントローラ5からの操作データを受信することが可能である。すなわち、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。 The game apparatus 3 can receive operation data from the controller 5. That is, the input / output processor 11a receives the operation data transmitted from the controller 5 via the antenna 23 and the controller communication module 19, and stores (temporarily stores) it in the buffer area of the internal main memory 11e or the external main memory 12.
また、ゲーム装置3は、端末装置7との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ11aは、端末装置7へゲーム画像(端末用画像)を送信する場合、GPU11bが生成したゲーム画像のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置7との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。なお、本実施形態では、ゲーム装置3から端末装置7へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置3から端末装置7への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置7との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。 Further, the game apparatus 3 can transmit and receive data such as images and sounds to and from the terminal device 7. When transmitting a game image (terminal image) to the terminal device 7, the input / output processor 11 a outputs the game image data generated by the GPU 11 b to the codec LSI 27. The codec LSI 27 performs predetermined compression processing on the image data from the input / output processor 11a. The terminal communication module 28 performs wireless communication with the terminal device 7. Therefore, the image data compressed by the codec LSI 27 is transmitted to the terminal device 7 via the antenna 29 by the terminal communication module 28. In the present embodiment, the image data transmitted from the game apparatus 3 to the terminal apparatus 7 is used for the game, and if the displayed image is delayed in the game, the operability of the game is adversely affected. For this reason, it is preferable that the transmission of image data from the game apparatus 3 to the terminal device 7 is as little as possible. Therefore, in this embodiment, the codec LSI 27 is, for example, H.264. The image data is compressed using a highly efficient compression technique such as H.264 standard. Other compression techniques may be used, and when the communication speed is sufficient, the image data may be transmitted without compression. The terminal communication module 28 is a communication module that has received, for example, Wi-Fi authentication. For example, the terminal communication module 28 uses a MIMO (Multiple Input Multiple Output) technique adopted in the IEEE802.11n standard. Wireless communication may be performed at high speed, or another communication method may be used.
また、ゲーム装置3は、画像データの他、音声データを端末装置7へ送信する。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置7へ送信する。 In addition to the image data, the game apparatus 3 transmits audio data to the terminal device 7. That is, the input / output processor 11 a outputs the audio data generated by the DSP 11 c to the terminal communication module 28 via the codec LSI 27. The codec LSI 27 performs compression processing on the audio data in the same manner as the image data. The compression method for the audio data may be any method, but a method with a high compression rate and less deterioration of the sound is preferable. In other embodiments, audio data may be transmitted without being compressed. The terminal communication module 28 transmits the compressed image data and audio data to the terminal device 7 via the antenna 29.
さらに、ゲーム装置3は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置7へ送信する。制御データは、端末装置7が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(図11に示すマーカ部55)の点灯を制御する指示や、カメラ(図11に示すカメラ56)の撮像を制御する指示等を表す。入出力プロセッサ11aは、CPU10の指示に応じて制御データを端末装置7へ送信する。なお、この制御データに関して、本実施形態ではコーデックLSI27はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置3から端末装置7へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。 Further, the game apparatus 3 transmits various control data to the terminal apparatus 7 as necessary in addition to the image data and the sound data. The control data is data representing a control instruction for a component included in the terminal device 7, and for example, an instruction to control lighting of the marker unit (marker unit 55 shown in FIG. 11) or a camera (camera 56 shown in FIG. 11). Indicates an instruction to control imaging. The input / output processor 11 a transmits control data to the terminal device 7 in accordance with an instruction from the CPU 10. With respect to this control data, the codec LSI 27 does not perform data compression processing in the present embodiment, but may perform compression processing in other embodiments. Note that the above-described data transmitted from the game device 3 to the terminal device 7 may or may not be encrypted as necessary.
また、ゲーム装置3は、端末装置7から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置7は、操作データ、画像データ、および音声データを送信する。端末装置7から送信される各データはアンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置7からの画像データおよび音声データは、ゲーム装置3から端末装置7への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ11aへ出力される。一方、端末装置7からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ11aへ出力される。入出力プロセッサ11aは、端末装置7から受信したデータを、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。 The game apparatus 3 can receive various data from the terminal device 7. Although details will be described later, in the present embodiment, the terminal device 7 transmits operation data, image data, and audio data. Each data transmitted from the terminal device 7 is received by the terminal communication module 28 via the antenna 29. Here, the image data and audio data from the terminal device 7 are subjected to the same compression processing as the image data and audio data from the game device 3 to the terminal device 7. Therefore, these image data and audio data are sent from the terminal communication module 28 to the codec LSI 27, subjected to expansion processing by the codec LSI 27, and output to the input / output processor 11a. On the other hand, the operation data from the terminal device 7 has a smaller amount of data than images and sounds, and therefore may not be subjected to compression processing. Further, encryption may or may not be performed as necessary. Accordingly, the operation data is received by the terminal communication module 28 and then output to the input / output processor 11 a via the codec LSI 27. The input / output processor 11a stores (temporarily stores) the data received from the terminal device 7 in the buffer area of the internal main memory 11e or the external main memory 12.
また、ゲーム装置3は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。 Further, the game apparatus 3 can be connected to another device or an external storage medium. That is, the expansion connector 20 and the memory card connector 21 are connected to the input / output processor 11a. The expansion connector 20 is a connector for an interface such as USB or SCSI. A network such as an external storage medium is connected to the expansion connector 20, a peripheral device such as another controller is connected, or a wired communication connector is connected to replace the network communication module 18 with a network. You can communicate with. The memory card connector 21 is a connector for connecting an external storage medium such as a memory card. For example, the input / output processor 11a can access an external storage medium via the expansion connector 20 or the memory card connector 21 to store data in the external storage medium or read data from the external storage medium.
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタによって外部の電源からゲーム装置3の各構成要素に対して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。 The game apparatus 3 is provided with a power button 24, a reset button 25, and an eject button 26. The power button 24 and the reset button 25 are connected to the system LSI 11. When the power button 24 is turned on, power is supplied to each component of the game apparatus 3 from an external power source by an AC adapter (not shown). When the reset button 25 is pressed, the system LSI 11 restarts the boot program for the game apparatus 3. The eject button 26 is connected to the disk drive 14. When the eject button 26 is pressed, the optical disk 4 is ejected from the disk drive 14.
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックLSI27、端末通信モジュール28およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置7と通信可能な構成とすることができる。 In other embodiments, some of the components included in the game apparatus 3 may be configured as expansion devices that are separate from the game apparatus 3. At this time, the expansion device may be connected to the game apparatus 3 via the expansion connector 20, for example. Specifically, the extension device includes, for example, each component of the codec LSI 27, the terminal communication module 28, and the antenna 29, and may be detachable from the extension connector 20. According to this, the said game device can be set as the structure which can communicate with the terminal device 7 by connecting the said expansion apparatus with respect to the game device which is not provided with said each component.
[3.コントローラ5の構成]
次に、図3〜図7を参照して、コントローラ5について説明する。図3は、コントローラ5の外観構成を示す斜視図である。図4は、コントローラ5の外観構成を示す斜視図である。図3は、コントローラ5の上側後方から見た斜視図であり、図4は、コントローラ5を下側前方から見た斜視図である。
[3. Configuration of controller 5]
Next, the controller 5 will be described with reference to FIGS. FIG. 3 is a perspective view showing an external configuration of the controller 5. FIG. 4 is a perspective view showing an external configuration of the controller 5. 3 is a perspective view of the controller 5 as seen from the upper rear side, and FIG. 4 is a perspective view of the controller 5 as seen from the lower front side.
図3および図4において、コントローラ5は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、コントローラ5に設けられたボタンを押下すること、および、コントローラ5自体を動かしてその位置や姿勢(傾き)を変えることによってゲーム操作を行うことができる。 3 and 4, the controller 5 includes a housing 31 formed by plastic molding, for example. The housing 31 has a substantially rectangular parallelepiped shape whose longitudinal direction is the front-rear direction (the Z-axis direction shown in FIG. 3), and is a size that can be gripped with one hand of an adult or a child as a whole. The user can perform a game operation by pressing a button provided on the controller 5 and moving the controller 5 itself to change its position and posture (tilt).
ハウジング31には、複数の操作ボタンが設けられる。図3に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。本明細書では、これらのボタン32a〜32hが設けられるハウジング31の上面を「ボタン面」と呼ぶことがある。一方、図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、ユーザがホームボタン32fまたは電源ボタン32hを誤って押下することを防止することができる。 The housing 31 is provided with a plurality of operation buttons. As shown in FIG. 3, a cross button 32a, a first button 32b, a second button 32c, an A button 32d, a minus button 32e, a home button 32f, a plus button 32g, and a power button 32h are provided on the upper surface of the housing 31. It is done. In the present specification, the upper surface of the housing 31 on which these buttons 32a to 32h are provided may be referred to as a “button surface”. On the other hand, as shown in FIG. 4, a recess is formed on the lower surface of the housing 31, and a B button 32i is provided on the rear inclined surface of the recess. A function corresponding to the information processing program executed by the game apparatus 3 is appropriately assigned to each of the operation buttons 32a to 32i. The power button 32h is for remotely turning on / off the main body of the game apparatus 3. The home button 32 f and the power button 32 h are embedded in the upper surface of the housing 31. Thereby, it is possible to prevent the user from pressing the home button 32f or the power button 32h by mistake.
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、コントローラ5に他の機器(例えば、他のセンサユニットやコントローラ)を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。 A connector 33 is provided on the rear surface of the housing 31. The connector 33 is used to connect another device (for example, another sensor unit or controller) to the controller 5. Further, locking holes 33a are provided on both sides of the connector 33 on the rear surface of the housing 31 in order to prevent the other devices from being easily detached.
ハウジング31上面の後方には複数(図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5には、他のコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。 A plurality (four in FIG. 3) of LEDs 34 a to 34 d are provided behind the upper surface of the housing 31. Here, the controller type (number) is assigned to the controller 5 to distinguish it from other controllers. The LEDs 34a to 34d are used for the purpose of notifying the user of the controller type currently set in the controller 5 and notifying the user of the remaining battery level of the controller 5. Specifically, when a game operation is performed using the controller 5, any one of the plurality of LEDs 34a to 34d is turned on according to the controller type.
また、コントローラ5は撮像情報演算部35(図6)を有しており、図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。 Further, the controller 5 has an imaging information calculation unit 35 (FIG. 6), and a light incident surface 35a of the imaging information calculation unit 35 is provided on the front surface of the housing 31, as shown in FIG. The light incident surface 35a is made of a material that transmits at least infrared light from the markers 6R and 6L.
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、コントローラ5に内蔵されるスピーカ47(図5)からの音を外部に放出するための音抜き孔31aが形成されている。 A sound release hole 31a is formed between the first button 32b and the home button 32f on the upper surface of the housing 31 for emitting sound from the speaker 47 (FIG. 5) built in the controller 5 to the outside.
次に、図5および図6を参照して、コントローラ5の内部構造について説明する。図5および図6は、コントローラ5の内部構造を示す図である。なお、図5は、コントローラ5の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6は、コントローラ5の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。図6に示す斜視図は、図5に示す基板30を裏面から見た斜視図となっている。 Next, the internal structure of the controller 5 will be described with reference to FIGS. 5 and 6 are diagrams showing the internal structure of the controller 5. FIG. FIG. 5 is a perspective view showing a state in which the upper housing (a part of the housing 31) of the controller 5 is removed. FIG. 6 is a perspective view showing a state in which the lower casing (a part of the housing 31) of the controller 5 is removed. The perspective view shown in FIG. 6 is a perspective view of the substrate 30 shown in FIG.
図5において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ47等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(図6参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してコントローラ5の中心からずれた位置に配置されている。これによって、コントローラ5をZ軸回りに回転させたときのコントローラ5の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してコントローラ5の中心よりも前方に配置されている。また、無線モジュール44(図6)およびアンテナ45によって、コントローラ5がワイヤレスコントローラとして機能する。 In FIG. 5, a substrate 30 is fixed inside the housing 31, and operation buttons 32 a to 32 h, LEDs 34 a to 34 d, an acceleration sensor 37, an antenna 45, and a speaker 47 are provided on the upper main surface of the substrate 30. Etc. are provided. These are connected to a microcomputer (microcomputer) 42 (see FIG. 6) by wiring (not shown) formed on the substrate 30 and the like. In the present embodiment, the acceleration sensor 37 is disposed at a position shifted from the center of the controller 5 with respect to the X-axis direction. This makes it easier to calculate the movement of the controller 5 when the controller 5 is rotated about the Z axis. The acceleration sensor 37 is disposed in front of the center of the controller 5 in the longitudinal direction (Z-axis direction). Further, the controller 5 functions as a wireless controller by the wireless module 44 (FIG. 6) and the antenna 45.
一方、図6において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、コントローラ5の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。 On the other hand, in FIG. 6, an imaging information calculation unit 35 is provided at the front edge on the lower main surface of the substrate 30. The imaging information calculation unit 35 includes an infrared filter 38, a lens 39, an imaging element 40, and an image processing circuit 41 in order from the front of the controller 5. These members 38 to 41 are respectively attached to the lower main surface of the substrate 30.
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ46が設けられている。バイブレータ46は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ46が作動することによってコントローラ5に振動が発生する。これによって、コントローラ5を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ46は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ46がコントローラ5の中心よりも端側に配置することによって、バイブレータ46の振動によりコントローラ5全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、図5および図6に示す他、コントローラ5は、マイコン42の基本クロックを生成する水晶振動子、スピーカ47に音声信号を出力するアンプ等を備えている。 Further, the microcomputer 42 and the vibrator 46 are provided on the lower main surface of the substrate 30. The vibrator 46 is, for example, a vibration motor or a solenoid, and is connected to the microcomputer 42 by wiring formed on the substrate 30 or the like. When the vibrator 46 is actuated by an instruction from the microcomputer 42, vibration is generated in the controller 5. As a result, a so-called vibration-compatible game in which the vibration is transmitted to the user's hand holding the controller 5 can be realized. In the present embodiment, the vibrator 46 is disposed slightly forward of the housing 31. That is, by arranging the vibrator 46 on the end side of the center of the controller 5, the entire controller 5 can be vibrated greatly by the vibration of the vibrator 46. The connector 33 is attached to the rear edge on the lower main surface of the substrate 30. 5 and 6, the controller 5 includes a crystal resonator that generates a basic clock of the microcomputer 42, an amplifier that outputs an audio signal to the speaker 47, and the like.
なお、図3〜図6に示したコントローラ5の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。 The shape of the controller 5, the shape of each operation button, the number of acceleration sensors and vibrators, and the installation positions shown in FIGS. 3 to 6 are merely examples, and other shapes, numbers, and installation positions may be used. May be. In the present embodiment, the imaging direction by the imaging unit is the positive Z-axis direction, but the imaging direction may be any direction. That is, the position of the imaging information calculation unit 35 in the controller 5 (the light incident surface 35a of the imaging information calculation unit 35) does not have to be the front surface of the housing 31, and other surfaces can be used as long as light can be taken in from the outside of the housing 31. May be provided.
図7は、コントローラ5の構成を示すブロック図である。コントローラ5は、操作部32(各操作ボタン32a〜32i)、撮像情報演算部35、通信部36、加速度センサ37、およびジャイロセンサ48を備えている。コントローラ5は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置3へ送信するものである。なお、以下では、コントローラ5が送信する操作データを「コントローラ操作データ」と呼び、端末装置7が送信する操作データを「端末操作データ」と呼ぶことがある。 FIG. 7 is a block diagram showing the configuration of the controller 5. The controller 5 includes an operation unit 32 (operation buttons 32a to 32i), an imaging information calculation unit 35, a communication unit 36, an acceleration sensor 37, and a gyro sensor 48. The controller 5 transmits data representing the content of the operation performed on the own device to the game apparatus 3 as operation data. Hereinafter, the operation data transmitted from the controller 5 may be referred to as “controller operation data”, and the operation data transmitted from the terminal device 7 may be referred to as “terminal operation data”.
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を表す操作ボタンデータを通信部36のマイコン42へ出力する。 The operation unit 32 includes the operation buttons 32a to 32i described above, and the operation button data indicating the input state (whether or not each operation button 32a to 32i is pressed) to each operation button 32a to 32i is transmitted to the microcomputer of the communication unit 36. Output to 42.
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。 The imaging information calculation unit 35 is a system for analyzing the image data captured by the imaging unit, discriminating a region having a high luminance in the image data, and calculating a center of gravity position, a size, and the like of the region. Since the imaging information calculation unit 35 has a sampling period of, for example, about 200 frames / second at the maximum, it can track and analyze even a relatively fast movement of the controller 5.
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置7のマーカ部55およびマーカ装置6は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、撮像対象(マーカ部55および/またはマーカ装置6)の画像をより正確に撮像することができる。以下では、撮像素子40によって撮像された画像を撮像画像と呼ぶ。撮像素子40によって生成された画像データは、画像処理回路41で処理される。画像処理回路41は、撮像画像内における撮像対象の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。 The imaging information calculation unit 35 includes an infrared filter 38, a lens 39, an imaging element 40, and an image processing circuit 41. The infrared filter 38 passes only infrared rays from the light incident from the front of the controller 5. The lens 39 collects the infrared light transmitted through the infrared filter 38 and makes it incident on the image sensor 40. The image sensor 40 is a solid-state image sensor such as a CMOS sensor or a CCD sensor, for example, and receives the infrared light collected by the lens 39 and outputs an image signal. Here, the marker unit 55 and the marker device 6 of the terminal device 7 to be imaged are configured by a marker that outputs infrared light. Therefore, by providing the infrared filter 38, the image sensor 40 receives only the infrared light that has passed through the infrared filter 38 and generates image data. Therefore, the image of the imaging target (the marker unit 55 and / or the marker device 6) is captured. More accurate imaging can be performed. Hereinafter, an image captured by the image sensor 40 is referred to as a captured image. Image data generated by the image sensor 40 is processed by the image processing circuit 41. The image processing circuit 41 calculates the position of the imaging target in the captured image. The image processing circuit 41 outputs coordinates indicating the calculated position to the microcomputer 42 of the communication unit 36. The coordinate data is transmitted to the game apparatus 3 as operation data by the microcomputer 42. Hereinafter, the coordinates are referred to as “marker coordinates”. Since the marker coordinates change corresponding to the direction (tilt angle) and position of the controller 5 itself, the game apparatus 3 can calculate the direction and position of the controller 5 using the marker coordinates.
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。 In other embodiments, the controller 5 may not include the image processing circuit 41, and the captured image itself may be transmitted from the controller 5 to the game apparatus 3. At this time, the game apparatus 3 may have a circuit or a program having the same function as the image processing circuit 41, and may calculate the marker coordinates.
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ37は、例えば静電容量式のMEMS(Micro Electro Mechanical System)型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。 The acceleration sensor 37 detects the acceleration (including gravity acceleration) of the controller 5, that is, detects the force (including gravity) applied to the controller 5. The acceleration sensor 37 detects the value of the acceleration (linear acceleration) in the linear direction along the sensing axis direction among the accelerations applied to the detection unit of the acceleration sensor 37. For example, in the case of a multi-axis acceleration sensor having two or more axes, the component acceleration along each axis is detected as the acceleration applied to the detection unit of the acceleration sensor. The acceleration sensor 37 is, for example, a capacitive MEMS (Micro Electro Mechanical System) type acceleration sensor, but other types of acceleration sensors may be used.
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトルとして表される。 In the present embodiment, the acceleration sensor 37 has a vertical direction (Y-axis direction shown in FIG. 3), a horizontal direction (X-axis direction shown in FIG. 3), and a front-back direction (Z-axis direction shown in FIG. 3) with reference to the controller 5. ) Linear acceleration is detected in each of the three axis directions. Since the acceleration sensor 37 detects acceleration in the linear direction along each axis, the output from the acceleration sensor 37 represents the linear acceleration value of each of the three axes. That is, the detected acceleration is represented as a three-dimensional vector in an XYZ coordinate system (controller coordinate system) set with the controller 5 as a reference.
加速度センサ37が検出した加速度を表すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や移動に対応して変化するので、ゲーム装置3は取得された加速度データを用いてコントローラ5の向きや移動を算出することができる。本実施形態では、ゲーム装置3は、取得された加速度データに基づいてコントローラ5の姿勢や傾斜角度等を算出する。 Data representing the acceleration detected by the acceleration sensor 37 (acceleration data) is output to the communication unit 36. Note that the acceleration detected by the acceleration sensor 37 changes corresponding to the direction (inclination angle) and movement of the controller 5 itself, so the game apparatus 3 calculates the direction and movement of the controller 5 using the acquired acceleration data. can do. In the present embodiment, the game apparatus 3 calculates the attitude, tilt angle, and the like of the controller 5 based on the acquired acceleration data.
なお、加速度センサ37(後述する加速度センサ73についても同様)から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)またはコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度または姿勢を判定することができる。 A computer such as a processor of the game apparatus 3 (for example, the CPU 10) or a processor of the controller 5 (for example, the microcomputer 42) is processed based on an acceleration signal output from the acceleration sensor 37 (the same applies to an acceleration sensor 73 described later). It can be easily understood by those skilled in the art from the description of the present specification that by performing the above, it is possible to estimate or calculate (determine) further information regarding the controller 5. For example, when processing on the computer side is executed on the assumption that the controller 5 on which the acceleration sensor 37 is mounted is stationary (that is, the processing is executed assuming that the acceleration detected by the acceleration sensor is only gravitational acceleration). When the controller 5 is actually stationary, it can be determined whether or not the attitude of the controller 5 is inclined with respect to the direction of gravity based on the detected acceleration. Specifically, whether or not the controller 5 is inclined with respect to the reference depending on whether or not 1G (gravity acceleration) is applied, based on the state in which the detection axis of the acceleration sensor 37 is directed vertically downward. It is possible to know how much it is inclined with respect to the reference according to its size. Further, in the case of the multi-axis acceleration sensor 37, it is possible to know in detail how much the controller 5 is inclined with respect to the direction of gravity by further processing the acceleration signal of each axis. . In this case, the processor may calculate the tilt angle of the controller 5 based on the output from the acceleration sensor 37, or may calculate the tilt direction of the controller 5 without calculating the tilt angle. Good. Thus, by using the acceleration sensor 37 in combination with the processor, the tilt angle or posture of the controller 5 can be determined.
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の移動に応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の移動方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの移動に応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42へ出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。 On the other hand, when it is assumed that the controller 5 is in a dynamic state (a state where the controller 5 is moved), the acceleration sensor 37 detects an acceleration corresponding to the movement of the controller 5 in addition to the gravitational acceleration. Therefore, the moving direction of the controller 5 can be known by removing the gravitational acceleration component from the detected acceleration by a predetermined process. Even if it is assumed that the controller 5 is in a dynamic state, the direction of gravity is obtained by removing the acceleration component corresponding to the movement of the acceleration sensor from the detected acceleration by a predetermined process. It is possible to know the inclination of the controller 5 with respect to. In another embodiment, the acceleration sensor 37 is a built-in process for performing a predetermined process on the acceleration signal before outputting the acceleration signal detected by the built-in acceleration detection means to the microcomputer 42. An apparatus or other type of dedicated processing apparatus may be provided. A built-in or dedicated processing device converts the acceleration signal into a tilt angle (or other preferred parameter) if, for example, the acceleration sensor 37 is used to detect static acceleration (eg, gravitational acceleration). It may be a thing.
ジャイロセンサ48は、3軸(本実施形態では、XYZ軸)回りの角速度を検出する。本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、X軸回りの回転方向をピッチ方向、Y軸回りの回転方向をヨー方向、Z軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ48は、3軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ48は、3軸ジャイロセンサであってもよいし、2軸ジャイロセンサと1軸ジャイロセンサとを組み合わせて3軸周りの角速度を検出するものであってもよい。ジャイロセンサ48で検出された角速度を表すデータは、通信部36へ出力される。また、ジャイロセンサ48は1軸または2軸回りの角速度を検出するものであってもよい。 The gyro sensor 48 detects angular velocities about three axes (XYZ axes in the present embodiment). In this specification, with the imaging direction (Z-axis positive direction) of the controller 5 as a reference, the rotation direction around the X axis is the pitch direction, the rotation direction around the Y axis is the yaw direction, and the rotation direction around the Z axis is the roll direction. Call. The gyro sensor 48 only needs to be able to detect angular velocities about three axes, and any number and combination of gyro sensors may be used. For example, the gyro sensor 48 may be a three-axis gyro sensor or a combination of a two-axis gyro sensor and a one-axis gyro sensor to detect an angular velocity around three axes. Data representing the angular velocity detected by the gyro sensor 48 is output to the communication unit 36. Further, the gyro sensor 48 may detect an angular velocity around one axis or two axes.
通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。 The communication unit 36 includes a microcomputer 42, a memory 43, a wireless module 44, and an antenna 45. The microcomputer 42 controls the wireless module 44 that wirelessly transmits data acquired by the microcomputer 42 to the game apparatus 3 while using the memory 43 as a storage area when performing processing.
操作部32、撮像情報演算部35、加速度センサ37、およびジャイロセンサ48からマイコン42へ出力されたデータは、一時的にメモリ43に格納される。これらのデータは、操作データ(コントローラ操作データ)としてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3のコントローラ通信モジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側のコントローラ通信モジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、コントローラ5から取得した操作データを用いてゲーム処理を行う。なお、通信部36からコントローラ通信モジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で操作データをゲーム装置3のコントローラ通信モジュール19へ出力する。 Data output from the operation unit 32, the imaging information calculation unit 35, the acceleration sensor 37, and the gyro sensor 48 to the microcomputer 42 is temporarily stored in the memory 43. These data are transmitted to the game apparatus 3 as operation data (controller operation data). That is, the microcomputer 42 outputs the operation data stored in the memory 43 to the wireless module 44 when the transmission timing to the controller communication module 19 of the game apparatus 3 arrives. The wireless module 44 modulates a carrier wave of a predetermined frequency with operation data using, for example, Bluetooth (registered trademark) technology, and radiates a weak radio signal from the antenna 45. That is, the operation data is modulated by the wireless module 44 into a weak radio signal and transmitted from the controller 5. The weak radio signal is received by the controller communication module 19 on the game apparatus 3 side. By demodulating and decoding the received weak radio signal, the game apparatus 3 can acquire operation data. Then, the CPU 10 of the game apparatus 3 performs a game process using the operation data acquired from the controller 5. Note that wireless transmission from the communication unit 36 to the controller communication module 19 is sequentially performed at predetermined intervals, but game processing is generally performed in units of 1/60 seconds (one frame time). Therefore, it is preferable to perform transmission at a period equal to or shorter than this time. The communication unit 36 of the controller 5 outputs the operation data to the controller communication module 19 of the game apparatus 3 at a rate of once every 1/200 seconds, for example.
以上のように、コントローラ5は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。また、ゲーム装置3は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ5を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ5自体を動かすゲーム操作を行うことができる。例えば、コントローラ5を任意の姿勢に傾ける操作、コントローラ5によって画面上の任意の位置を指示する操作、および、コントローラ5自体を動かす操作等を行うことが可能となる。 As described above, the controller 5 can transmit the marker coordinate data, the acceleration data, the angular velocity data, and the operation button data as the operation data representing the operation on the own device. Further, the game apparatus 3 executes a game process using the operation data as a game input. Therefore, by using the controller 5, the user can perform a game operation for moving the controller 5 itself in addition to the conventional general game operation for pressing each operation button. For example, an operation of tilting the controller 5 to an arbitrary posture, an operation of instructing an arbitrary position on the screen by the controller 5, an operation of moving the controller 5 itself, and the like can be performed.
また、本実施形態において、コントローラ5は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。 In the present embodiment, the controller 5 does not have a display unit that displays a game image, but may include a display unit that displays, for example, an image representing the remaining battery level.
[4.端末装置7の構成]
次に、図8〜図11を参照して、端末装置7の構成について説明する。図8は、端末装置7の外観構成を示す平面図である。図8における(a)図は端末装置7の正面図であり、(b)図は上面図であり、(c)図は右側面図であり、(d)図は下面図である。図9は、端末装置7の背面図である。また、図10は、ユーザが端末装置7を横向きで把持した様子を示す図である。
[4. Configuration of Terminal Device 7]
Next, the configuration of the terminal device 7 will be described with reference to FIGS. FIG. 8 is a plan view showing an external configuration of the terminal device 7. 8A is a front view of the terminal device 7, FIG. 8B is a top view, FIG. 8C is a right side view, and FIG. 8D is a bottom view. FIG. 9 is a rear view of the terminal device 7. FIG. 10 is a diagram illustrating a state in which the user holds the terminal device 7 sideways.
図8に示されるように、端末装置7は、大略的には横長の長方形の板状形状であるハウジング50を備える。すなわち、端末装置7は、タブレット型の情報処理装置であるということもできる。なお、ハウジング50は全体として板状形状であれば、曲面を有していてもよいし、一部に突起等を有していてもよい。ハウジング50は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置7を持って動かしたり、端末装置7の配置位置を変更したりすることができる。端末装置7の縦(z軸方向)の長さは、100〜150[mm]が好ましく、本実施形態では、133.5[mm]である。端末装置7の横(x軸方向)の長さは、200〜250[mm]が好ましく、本実施形態では、228.26[mm]である。端末装置7の厚さ(y軸方向の長さ)は、板状の部分で15〜30[mm]程度、最厚部まで含めて30〜50[mm]程度が好ましく、本実施形態では、23.6(最厚部は40.26)[mm]である。また、端末装置7の重量は、400〜600[g]程度であって、本実施形態においては、530[g]である。詳細は後述するが、端末装置7は、上記のような比較的大型の端末装置(操作装置)であっても、ユーザが持ちやすく操作しやすい構成となっている。 As shown in FIG. 8, the terminal device 7 includes a housing 50 that is generally a horizontally-long rectangular plate shape. That is, it can be said that the terminal device 7 is a tablet-type information processing device. The housing 50 may have a curved surface as long as it has a plate shape as a whole, or may have a protrusion or the like in part. The housing 50 is large enough to be gripped by the user. Therefore, the user can move the terminal apparatus 7 or change the arrangement position of the terminal apparatus 7. The length of the terminal device 7 in the vertical direction (z-axis direction) is preferably 100 to 150 [mm]. In the present embodiment, the length is 133.5 [mm]. The lateral (x-axis direction) length of the terminal device 7 is preferably 200 to 250 [mm], and in this embodiment is 228.26 [mm]. The thickness (length in the y-axis direction) of the terminal device 7 is preferably about 15 to 30 [mm] at the plate-like portion, and about 30 to 50 [mm] including the thickest portion. In this embodiment, 23.6 (the thickest part is 40.26) [mm]. The weight of the terminal device 7 is about 400 to 600 [g], and is 530 [g] in the present embodiment. Although details will be described later, even if the terminal device 7 is a relatively large terminal device (operation device) as described above, the user device is easy to hold and operate.
端末装置7は、ハウジング50の表面(表側)にLCD51を有する。なお、LCD51の画面の大きさは5インチ以上であることが好ましく、ここでは6.2インチである。本実施形態の端末装置7は、持ちやすく操作しやすい構成によって、大きなLCDを設けても操作がしやすいものとなっている。なお、別の実施形態においては、より小さいLCD51を設け、端末装置7の大きさを比較的小さいものとするようにしてもよい。LCD51は、ハウジング50の表面の中央付近に設けられる。したがって、ユーザは、図10に示すようにLCD51の両側部分のハウジング50を持つことによって、LCD51の画面を見ながら端末装置7を持って動かすことができる。なお、図10ではユーザがLCD51の左右両側の部分のハウジング50を持つことで端末装置7を横持ちで(横に長い向きにして)持つ例を示しているが、端末装置7を縦持ちで(縦に長い向きにして)持つことも可能である。 The terminal device 7 has an LCD 51 on the surface (front side) of the housing 50. The screen size of the LCD 51 is preferably 5 inches or more, and here is 6.2 inches. The terminal device 7 of the present embodiment is easy to operate even if a large LCD is provided due to the configuration that it is easy to hold and operate. In another embodiment, a smaller LCD 51 may be provided so that the size of the terminal device 7 is relatively small. The LCD 51 is provided near the center of the surface of the housing 50. Therefore, the user can move the terminal device 7 while viewing the screen of the LCD 51 by holding the housings 50 on both sides of the LCD 51 as shown in FIG. FIG. 10 shows an example in which the user holds the terminal device 7 horizontally by holding the housings 50 on both the left and right sides of the LCD 51 (in a long horizontal direction), but the terminal device 7 is held vertically. It can also be held (with a long vertical orientation).
図8の(a)図に示すように、端末装置7は、操作手段として、LCD51の画面上にタッチパネル52を有する。本実施形態では、タッチパネル52は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル52はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル52として、LCD51の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル52の解像度とLCD51の解像度が一致している必要はない。タッチパネル52に対する入力は通常タッチペン60を用いて行われるが、タッチペン60に限らずユーザの指でタッチパネル52に対する入力をすることも可能である。なお、ハウジング50には、タッチパネル52に対する操作を行うために用いられるタッチペン60を収納する収納穴60aが設けられている(図8(b)参照)。なお、ここでは、タッチペン60が落ちないように、収納穴60aはハウジング50の上面に設けられるが、側面や下面に設けられてもよい。このように、端末装置7はタッチパネル52を備えるので、ユーザは、端末装置7を動かしながらタッチパネル52を操作することができる。つまりユーザは、LCD51の画面を動かしつつ、その画面に対して直接(タッチパネル52によって)入力を行うことができる。 As illustrated in FIG. 8A, the terminal device 7 includes a touch panel 52 on the screen of the LCD 51 as an operation unit. In the present embodiment, the touch panel 52 is a resistive film type touch panel. However, the touch panel is not limited to the resistive film type, and any type of touch panel such as a capacitance type can be used. The touch panel 52 may be a single touch method or a multi-touch method. In the present embodiment, the touch panel 52 having the same resolution (detection accuracy) as the resolution of the LCD 51 is used. However, the resolution of the touch panel 52 and the resolution of the LCD 51 are not necessarily matched. The input to the touch panel 52 is normally performed using the touch pen 60, but the input to the touch panel 52 is not limited to the touch pen 60 and can be performed by a user's finger. The housing 50 is provided with a storage hole 60a for storing the touch pen 60 used for operating the touch panel 52 (see FIG. 8B). Here, the storage hole 60a is provided on the upper surface of the housing 50 so that the touch pen 60 does not fall, but may be provided on the side surface or the lower surface. Thus, since the terminal device 7 includes the touch panel 52, the user can operate the touch panel 52 while moving the terminal device 7. That is, the user can directly input (by the touch panel 52) to the screen while moving the screen of the LCD 51.
図8に示すように、端末装置7は、操作手段(操作部)として、2つのアナログスティック53Aおよび53Bと、複数のボタン(キー)54A〜54Mとを備えている。各アナログスティック53Aおよび53Bは、方向を指示することが可能なデバイスである。各アナログスティック53Aおよび53Bは、ユーザの指で操作される可動部材(スティック部)がハウジング50の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドすることができるように構成されている。すなわち、スライドパッドと呼ばれることもある方向入力デバイスである。なお、各アナログスティック53Aおよび53Bの可動部材は、ハウジング50の表面に対して任意の方向に傾倒する種類のものでもよい。本実施形態では、可動部材がスライドする種類のアナログスティックを用いるので、ユーザは親指を大きく動かさなくても各アナログスティック53Aおよび53Bを操作することができ、ハウジング50をよりしっかりと把持した状態で操作を行うことができる。なお、各アナログスティック53Aおよび53Bとして、可動部材が傾倒する種類のものを用いる場合には、入力の程度(傾きの程度)がユーザにとってわかりやすく、詳細な操作をより容易に行うことができる。 As shown in FIG. 8, the terminal device 7 includes two analog sticks 53A and 53B and a plurality of buttons (keys) 54A to 54M as operation means (operation unit). Each analog stick 53A and 53B is a device capable of indicating a direction. In each of the analog sticks 53A and 53B, a movable member (stick part) operated by a user's finger can slide in any direction (any angle in the up / down / left / right and diagonal directions) with respect to the surface of the housing 50. It is configured. That is, it is a directional input device sometimes called a slide pad. The movable members of the analog sticks 53A and 53B may be of a type that tilts in an arbitrary direction with respect to the surface of the housing 50. In the present embodiment, an analog stick of a type in which the movable member slides is used. Therefore, the user can operate each of the analog sticks 53A and 53B without moving the thumb greatly, and the housing 50 is held firmly. The operation can be performed. When the analog sticks 53A and 53B are of a type in which the movable member tilts, the degree of input (degree of tilt) is easy for the user to understand, and detailed operations can be performed more easily.
また、左アナログスティック53AはLCD51の画面の左側に、右アナログスティック53BはLCD51の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、図10に示すように、各アナログスティック53Aおよび53Bは、ユーザが端末装置7の左右部分(LCD51の左右両側の部分)を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置7を持って動かす場合においても各アナログスティック53Aおよび53Bを容易に操作することができる。 The left analog stick 53A is provided on the left side of the screen of the LCD 51, and the right analog stick 53B is provided on the right side of the screen of the LCD 51. Therefore, the user can make an input for instructing the direction with the left and right hands using the analog stick. Also, as shown in FIG. 10, each analog stick 53A and 53B is provided at a position where the user can operate with the left and right portions of the terminal device 7 (the left and right side portions of the LCD 51) being gripped. Even when the terminal device 7 is held and moved, the analog sticks 53A and 53B can be easily operated.
各ボタン54A〜54Lは、所定の入力を行うための操作手段(操作部)であり、押下可能なキーである。以下に示すように、各ボタン54A〜54Lは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられる(図10参照)。したがって、ユーザは、端末装置7を持って動かす場合においてもこれらの操作手段を容易に操作することができる。 Each button 54A to 54L is an operation means (operation unit) for performing a predetermined input, and is a key that can be pressed. As shown below, each button 54A-54L is provided in the position which a user can operate in the state which hold | gripped the left-right part of the terminal device 7 (refer FIG. 10). Therefore, the user can easily operate these operation means even when the user moves the terminal device 7.
図8の(a)図に示すように、ハウジング50の表面には、各操作ボタン54A〜54Lのうち、十字ボタン(方向入力ボタン)54Aと、ボタン54B〜54Hおよび54Mとが設けられる。つまり、これらのボタン54A〜54Hおよび54Mは、ユーザの親指で操作可能な位置に配置されている(図10参照)。 As shown in FIG. 8A, a cross button (direction input button) 54A and buttons 54B to 54H and 54M among the operation buttons 54A to 54L are provided on the surface of the housing 50. That is, these buttons 54A to 54H and 54M are arranged at positions where they can be operated with the user's thumb (see FIG. 10).
十字ボタン54Aは、LCD51の左側であって、左アナログスティック53Aの下側に設けられる。つまり、十字ボタン54Aはユーザの左手で操作可能な位置に配置されている。十字ボタン54Aは、十字の形状を有しており、少なくとも上下左右の方向を指示することが可能なボタンである。 The cross button 54A is provided on the left side of the LCD 51 and below the left analog stick 53A. That is, the cross button 54A is arranged at a position where it can be operated with the left hand of the user. The cross button 54A has a cross shape, and is a button capable of instructing at least the vertical and horizontal directions.
また、ボタン54B〜54Dは、LCD51の下側に設けられる。これら3つのボタン54B〜54Dは、左右両方の手で操作可能な位置に配置されている。また、端末装置7は、端末装置7の電源をオン/オフするための電源ボタン54Mを有している。電源ボタン54Mの操作により、ゲーム装置3の電源を遠隔でオン/オフすることも可能である。電源ボタン54Mは、ボタン54B〜54Dと同様、LCD51の下側に設けられる。電源ボタン54Mは、ボタン54B〜54Dの右側に設けられる。したがって、電源ボタン54Mは、右手で操作可能な(操作しやすい)位置に配置されている。また、4つのボタン54E〜54Hは、LCD51の右側であって、右アナログスティック53Bの下側に設けられる。つまり、4つのボタン54E〜54Hはユーザの右手で操作可能な位置に配置されている。さらに、4つのボタン54E〜54Hは、(4つのボタン54E〜54Hの中心位置に対して)上下左右の位置関係となるように配置されている。したがって、端末装置7は、ユーザに上下左右の方向を指示させるためのボタンとして4つのボタン54E〜54Hを機能させることも可能である。 The buttons 54B to 54D are provided below the LCD 51. These three buttons 54B to 54D are arranged at positions that can be operated by both the left and right hands. The terminal device 7 has a power button 54M for turning on / off the power of the terminal device 7. It is also possible to remotely turn on / off the game apparatus 3 by operating the power button 54M. The power button 54M is provided on the lower side of the LCD 51 like the buttons 54B to 54D. The power button 54M is provided on the right side of the buttons 54B to 54D. Therefore, the power button 54M is disposed at a position where it can be operated (easy to operate) with the right hand. The four buttons 54E to 54H are provided on the right side of the LCD 51 and below the right analog stick 53B. That is, the four buttons 54E to 54H are arranged at positions that can be operated with the right hand of the user. Further, the four buttons 54E to 54H are arranged so as to have a vertical / left / right positional relationship (relative to the center position of the four buttons 54E to 54H). Therefore, the terminal device 7 can also function the four buttons 54 </ b> E to 54 </ b> H as buttons for instructing the user in the up / down / left / right directions.
なお、本実施形態においては、各アナログスティック53Aおよび53Bは、十字ボタン54Aおよび各ボタン54E〜54Hよりも上側に配置される。ここで、各アナログスティック53Aおよび53Bは、十字ボタン54Aおよび各ボタン54E〜54Hよりも厚さ方向(y軸方向)に関して突出している。そのため、仮にアナログスティック53Aと十字ボタン54Aとの配置を逆にした場合には、ユーザが十字ボタン54Aを親指で操作する際にアナログスティック53Aに親指が当たってしまい、操作を誤ってしまうおそれがある。なお、アナログスティック53Bと各ボタン54E〜54Hとの配置を逆にする場合も同様の問題が生じる。これに対して、本実施形態では、各アナログスティック53Aおよび53Bを十字ボタン54Aおよび各ボタン54E〜54Hよりも上側に配置するので、ユーザがアナログスティック53Aおよび53Bを操作する際に十字ボタン54Aおよび各ボタン54E〜54Hに指が当たってしまう可能性は上記の場合に比べて低くなる。このように、本実施形態においては、誤操作の可能性を低減することができ、端末装置7の操作性を向上することができる。ただし、別の実施形態においては、必要に応じてアナログスティック53Aが十字ボタン54Aと逆の配置であってもよいし、アナログスティック53Bが各ボタン54E〜54Hと逆の配置であってもよい。 In the present embodiment, the analog sticks 53A and 53B are arranged above the cross button 54A and the buttons 54E to 54H. Here, each of the analog sticks 53A and 53B protrudes in the thickness direction (y-axis direction) from the cross button 54A and the buttons 54E to 54H. Therefore, if the arrangement of the analog stick 53A and the cross button 54A is reversed, when the user operates the cross button 54A with the thumb, the thumb may hit the analog stick 53A and the operation may be mistaken. is there. The same problem occurs when the arrangement of the analog stick 53B and the buttons 54E to 54H is reversed. On the other hand, in the present embodiment, the analog sticks 53A and 53B are arranged above the cross button 54A and the buttons 54E to 54H, so that when the user operates the analog sticks 53A and 53B, The possibility that the finger hits each of the buttons 54E to 54H is lower than that in the above case. Thus, in this embodiment, the possibility of erroneous operation can be reduced, and the operability of the terminal device 7 can be improved. However, in another embodiment, the analog stick 53A may be disposed opposite to the cross button 54A, or the analog stick 53B may be disposed opposite to the buttons 54E to 54H as necessary.
ここで、本実施形態では、いくつかの操作部(各アナログスティック53Aおよび53B、十字ボタン54A、ならびに、3つのボタン54E〜54G)は、表示部(LCD51)の左右両側において、ハウジング50における上下方向(y軸方向)の中心よりも上側に設けられる。これらの操作部を操作する場合、ユーザは、端末装置7における上下方向の中心よりも上側を主に把持する。ここで、ユーザがハウジング50の下側を把持する場合には、(端末装置7が本実施形態のように比較的大きなサイズである場合には特に)把持される端末装置7が不安定になり、ユーザは端末装置7を持ちにくくなる。これに対して、本実施形態では、上記操作部を操作する場合、ユーザは、端末装置7における上下方向の中心よりも上側を主に把持することになり、また、手のひらでハウジング50を横から支えることができる。したがって、ユーザは、安定した状態でハウジング50を把持することができ、端末装置7が持ちやすくなるので、上記操作部も操作しやすくなる。なお、他の実施形態においては、ハウジング50の中央よりも上側において表示部の左右にそれぞれ少なくとも1つずつ操作部が設けられてもよい。例えば、各アナログスティック53Aおよび53Bのみがハウジング50の中央よりも上側に設けられてもよい。また例えば、十字ボタン54Aが左アナログスティック53Aよりも上側に設けられ、4つのボタン54E〜54Hが右アナログスティック53Bよりも上側に設けられる場合には、十字ボタン54Aおよび4つのボタン54E〜54Hがハウジング50の中央よりも上側に設けられても良い。 Here, in this embodiment, some operation units (respective analog sticks 53A and 53B, cross button 54A, and three buttons 54E to 54G) are arranged on the upper and lower sides of the housing 50 on both the left and right sides of the display unit (LCD 51). It is provided above the center of the direction (y-axis direction). When operating these operation units, the user mainly holds the upper side of the terminal device 7 from the vertical center. Here, when the user grips the lower side of the housing 50, the gripped terminal device 7 becomes unstable (especially when the terminal device 7 has a relatively large size as in the present embodiment). , It becomes difficult for the user to hold the terminal device 7. On the other hand, in this embodiment, when operating the operation unit, the user mainly holds the upper side of the terminal device 7 from the center in the vertical direction, and the housing 50 is laterally held by the palm. Can support. Therefore, the user can hold the housing 50 in a stable state, and the terminal device 7 can be easily held, so that the operation unit can be easily operated. In other embodiments, at least one operation unit may be provided on each of the left and right sides of the display unit above the center of the housing 50. For example, only the analog sticks 53 </ b> A and 53 </ b> B may be provided above the center of the housing 50. Further, for example, when the cross button 54A is provided above the left analog stick 53A and the four buttons 54E to 54H are provided above the right analog stick 53B, the cross button 54A and the four buttons 54E to 54H are provided. It may be provided above the center of the housing 50.
また、本実施形態では、ハウジング50の裏側(LCD51が設けられる表面の反対側)には、突起部(庇部59)が設けられる(図8(c)および図9参照)。図8(c)に示すように、庇部59は、略板状のハウジング50の裏面から突起して設けられる、山状の部材である。突起部は、ハウジング50の裏面を把持するユーザの指に掛止可能な高さ(厚さ)を有する。突起部の高さは、10〜25[mm]であることが好ましく、本実施形態では16.66[mm]である。また、突起部の下面は、突起部がユーザの指に掛かりやすいように、ハウジング50の裏面に対して45°以上(より好ましくは60°以上)の傾斜を有することが好ましい。図8(c)に示すように、突起部の下面は、上面よりも傾斜角度が大きくなるように形成されてもよい。図10に示すように、ユーザは、指を庇部59に掛けて(指の上に庇部59を乗せて)把持することによって、端末装置7が比較的大きなサイズであっても、疲れることなく安定した状態で端末装置7を把持することができる。すなわち、庇部59は、指でハウジング50を支えるための支持部材であるということができ、また、指掛部ということもできる。 In the present embodiment, a protrusion (a flange 59) is provided on the back side of the housing 50 (on the opposite side of the surface on which the LCD 51 is provided) (see FIG. 8C and FIG. 9). As shown in FIG. 8C, the flange portion 59 is a mountain-shaped member provided so as to protrude from the back surface of the substantially plate-shaped housing 50. The protrusion has a height (thickness) that can be hooked on a user's finger that holds the back surface of the housing 50. The height of the protrusion is preferably 10 to 25 [mm], and in this embodiment is 16.66 [mm]. Moreover, it is preferable that the lower surface of the protruding portion has an inclination of 45 ° or more (more preferably 60 ° or more) with respect to the back surface of the housing 50 so that the protruding portion can be easily caught on the user's finger. As shown in FIG. 8C, the lower surface of the protrusion may be formed to have a larger inclination angle than the upper surface. As shown in FIG. 10, the user gets tired even when the terminal device 7 is a relatively large size by holding his / her finger on the buttocks 59 (with the buttocks 59 on the finger). The terminal device 7 can be gripped in a stable state. That is, it can be said that the collar part 59 is a support member for supporting the housing 50 with a finger, and can also be called a finger hook part.
また、庇部59は、ハウジング50の上下方向に関しては中央よりも上側に設けられる。庇部59は、ハウジング50の表面に設けられる操作部(各アナログスティック53Aおよび53B)の概ね反対側の位置に設けられる。つまり、突起部は、表示部の左右にそれぞれ設けられる操作部の反対側の位置を含む領域に設けられる。したがって、上記操作部を操作する場合、ユーザは、中指あるいは薬指で庇部59を支えるようにして端末装置7を把持することができる(図10参照)。これによって、端末装置7がより持ちやすくなり、上記操作部もより操作しやすくなる。また、本実施形態では、突起部は、(突起した部分が)左右に延びる庇状の形状を有するので、ユーザは、中指あるいは薬指を突起部の下面に沿わせて端末装置7を把持することができ、端末装置7がより持ちやすくなる。なお、庇部59は、(突起した部分が)左右方向に延びるように形成されればよく、図9に示すような水平方向に延びる形状に限られない。他の実施形態においては、庇部59は水平方向から若干傾いた方向に延びていてもよい。例えば、庇部59は、左右両端から中央に向かうにつれて上に(または下に)傾斜するように設けられてもよい。 Further, the flange portion 59 is provided above the center in the vertical direction of the housing 50. The flange portion 59 is provided at a position approximately opposite to the operation portion (each analog stick 53A and 53B) provided on the surface of the housing 50. That is, the protrusion is provided in a region including a position on the opposite side of the operation unit provided on the left and right of the display unit. Therefore, when operating the said operation part, the user can hold | grip the terminal device 7 so that the collar part 59 may be supported with a middle finger or a ring finger (refer FIG. 10). As a result, the terminal device 7 becomes easier to hold, and the operation unit becomes easier to operate. Further, in the present embodiment, the protrusion has a hook-like shape extending from side to side (the protruding portion), so the user holds the terminal device 7 with the middle finger or the ring finger along the lower surface of the protrusion. And the terminal device 7 becomes easier to hold. In addition, the collar part 59 should just be formed so that the (protruded part) may be extended in the left-right direction, and is not restricted to the shape extended in a horizontal direction as shown in FIG. In other embodiments, the flange portion 59 may extend in a direction slightly inclined from the horizontal direction. For example, the collar portion 59 may be provided so as to be inclined upward (or downward) from the left and right ends toward the center.
なお、本実施形態においては、後述する係止穴を庇部59に設けることが理由で、ハウジングの裏面に形成される突起部として、庇状の形状をした庇部59を採用するが、突起部はどのような形状であってもよい。例えば、他の実施形態においては、ハウジング50の裏側において、2つの突起部が左右両側に設けられる(左右方向の中央には突起部が設けられない)構成であってもよい(図29参照)。また、他の実施形態においては、突起部の断面形状(x軸方向に垂直な断面における形状)は、ユーザの指で端末装置7をよりしっかりと支えることができるように(突起部が指によりしっかりと掛かるように)、鈎型(下面が凹んだ形状)であってもよい。 In the present embodiment, the hook 59 having a hook-like shape is adopted as the protrusion formed on the back surface of the housing because a locking hole described later is provided in the hook 59. The part may have any shape. For example, in another embodiment, on the back side of the housing 50, two protrusions may be provided on both the left and right sides (no protrusion is provided in the center in the left-right direction) (see FIG. 29). . In another embodiment, the cross-sectional shape of the protrusion (the shape in the cross section perpendicular to the x-axis direction) is such that the terminal device 7 can be more firmly supported by the user's finger (the protrusion is It may be saddle-shaped (a shape in which the lower surface is recessed).
なお、突起部(庇部59)の上下方向に関する幅は、いくらであってもよい。例えば、突起部は、ハウジング50の上辺まで形成されてもよい。すなわち、突起部の上面がハウジング50の上側の側面と同じ位置に形成されてもよい。このとき、ハウジング50は、下側が薄く、上側が厚い2段の構成となる。このように、ハウジング50は、裏面における左右両側に、下方を向く面(突起部の下面)が形成されることが好ましい。これによって、ユーザは、当該面に指を当てることで楽に操作装置を把持することができる。なお、上記「下方を向く面」は、ハウジング50の裏面におけるどの位置に形成されてもよいが、ハウジング50の中央よりも上側に位置することが好ましい。 In addition, the width | variety regarding the up-down direction of a projection part (hook part 59) may be what. For example, the protrusion may be formed up to the upper side of the housing 50. That is, the upper surface of the protrusion may be formed at the same position as the upper side surface of the housing 50. At this time, the housing 50 has a two-stage configuration in which the lower side is thin and the upper side is thick. As described above, it is preferable that the housing 50 is formed with surfaces (lower surfaces of the protrusions) facing downward on the left and right sides of the back surface. Accordingly, the user can easily grip the operating device by placing a finger on the surface. The “surface facing downward” may be formed at any position on the back surface of the housing 50, but is preferably positioned above the center of the housing 50.
また、図8の(a)図、(b)図、および(c)図に示すように、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の上側の面における左右の両側にそれぞれ設けられる。本実施形態では、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の斜め上部分(左上部分および右上部分)に設けられる。具体的には、第1Lボタン54Iは、板状のハウジング50における上側の側面の左端に設けられ、左上側の側面から露出している(換言すれば上側および左側の両方の側面から露出している)。また、第1Rボタン54Jは、ハウジング50における上側の側面の右端に設けられ、右上側の側面から露出している(換言すれば上側および右側の両方の側面から露出している)。このように、第1Lボタン54Iは、ユーザの左手人差し指で操作可能な位置に配置され、第1Rボタン54Jは、ユーザの右手人差し指で操作可能な位置に配置される(図10参照)。なお、他の実施形態においては、ハウジング50の上側の面における左右にそれぞれ設けられる操作部は、左右の端部に設けられる必要はなく、端部以外の位置に設けられてもよい。また、ハウジング50の左右の側面に操作部がそれぞれ設けられてもよい。 Further, as shown in FIGS. 8A, 8B, and 8C, the first L button 54I and the first R button 54J are provided on both the left and right sides of the upper surface of the housing 50, respectively. . In the present embodiment, the first L button 54 </ b> I and the first R button 54 </ b> J are provided in an obliquely upper portion (upper left portion and upper right portion) of the housing 50. Specifically, the first L button 54I is provided at the left end of the upper side surface of the plate-shaped housing 50 and is exposed from the upper left side surface (in other words, exposed from both the upper and left side surfaces). ) The first R button 54J is provided at the right end of the upper side surface of the housing 50, and is exposed from the upper right side surface (in other words, exposed from both the upper and right side surfaces). In this way, the first L button 54I is disposed at a position operable with the user's left index finger, and the first R button 54J is disposed at a position operable with the user's right hand index finger (see FIG. 10). In other embodiments, the operation units provided on the left and right sides of the upper surface of the housing 50 do not need to be provided at the left and right ends, and may be provided at positions other than the ends. In addition, operation portions may be provided on the left and right side surfaces of the housing 50, respectively.
また、図8の(c)図および図9に示すように、第2Lボタン54Kおよび第2Rボタン54Lは、上記突起部(庇部59)に配置される。第2Lボタン54Kは、庇部59の左端付近に設けられる。第2Rボタン54Lは、庇部59の右端付近に設けられる。つまり、第2Lボタン54Kは、ハウジング50の裏面の左側(表面側から見たときの左側)のやや上方に設けられ、第2Rボタン54Lは、ハウジング50の裏面の右側(表面側から見たときの右側)のやや上方に設けられる。換言すれば、第2Lボタン54Kは、表面に設けられる左アナログスティック53Aの(概ね)反対側の位置に設けられ、第2Rボタン54Lは、表面に設けられる右アナログスティック53Bの(概ね)反対側の位置に設けられる。このように、第2Lボタン54Kは、ユーザの左手中指(または人差し指)で操作可能な位置に配置され、第2Rボタン54Lは、ユーザの右手中指(または人差し指)で操作可能な位置に配置される(図10参照)。また、第2Lボタン54Kおよび第2Rボタン54Lは、図8の(c)図に示すように、上記庇部59の上面に設けられる。そのため、第2Lボタン54Kおよび第2Rボタン54Lは、上方(斜め上方)を向くボタン面を有する。ユーザが端末装置7を把持した場合には中指または人差し指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第2Lボタン54Kおよび第2Rボタン54Lを押下しやすくなる。 Further, as shown in FIG. 8 (c) and FIG. 9, the second L button 54K and the second R button 54L are disposed on the protruding portion (the collar portion 59). The second L button 54K is provided in the vicinity of the left end of the collar 59. The second R button 54L is provided in the vicinity of the right end of the collar portion 59. That is, the second L button 54K is provided slightly above the left side (left side when viewed from the front side) of the housing 50, and the second R button 54L is right side (when viewed from the front side) of the housing 50. On the right side). In other words, the second L button 54K is provided at a position (substantially) opposite to the left analog stick 53A provided on the surface, and the second R button 54L is provided (substantially) opposite to the right analog stick 53B provided on the surface. It is provided in the position. As described above, the second L button 54K is disposed at a position operable with the user's left middle finger (or index finger), and the second R button 54L is disposed at a position operable with the user's right middle finger (or index finger). (See FIG. 10). Moreover, the 2nd L button 54K and the 2nd R button 54L are provided in the upper surface of the said collar part 59, as shown to the (c) figure of FIG. Therefore, the second L button 54K and the second R button 54L have button surfaces that face upward (obliquely upward). When the user holds the terminal device 7, the middle finger or index finger is considered to move up and down, so that the user can easily press the second L button 54 </ b> K and the second R button 54 </ b> L by turning the button surface upward.
上記のように、本実施形態においては、ハウジング50の中央よりも上側において表示部(LCD51)の左右に操作部(アナログスティック53Aおよび53B)がそれぞれ設けられ、さらに、ハウジング50の裏側において当該操作部の反対側の位置に別の操作部(第2Lボタン54Kおよび第2Rボタン54L)がそれぞれ設けられる。これによれば、上記操作部と別の操作部とがハウジング50の表側と裏側との互いに対向する位置に配置されるので、ユーザは、これらの操作部を操作する際にハウジング50を表側と裏側から挟むように把持することができる。また、これらの操作部を操作する際にユーザは、ハウジング50における上下方向の中心よりも上側を把持するので、端末装置7を上側で把持できるとともに、手のひらで端末装置7を支えることができる(図10参照)。以上によって、ユーザは、少なくとも4つの操作部を操作することができる状態で、ハウジング50を安定的に把持することができ、ユーザが容易に把持することが可能で、かつ操作性の良い操作装置(端末装置7)を提供することができる。 As described above, in the present embodiment, the operation units (analog sticks 53A and 53B) are provided on the left and right sides of the display unit (LCD 51) above the center of the housing 50, and the operation is performed on the back side of the housing 50. Separate operation units (second L button 54K and second R button 54L) are provided at positions opposite to the unit. According to this, since the said operation part and another operation part are arrange | positioned in the position where the front side and back side of the housing 50 mutually oppose, when operating these operation parts, the user sets the housing 50 to the front side. It can be gripped so as to be pinched from the back side. Further, when operating these operation units, the user grips the upper side of the housing 50 with respect to the vertical center, so that the terminal device 7 can be gripped on the upper side and the terminal device 7 can be supported by the palm ( (See FIG. 10). As described above, the user can stably hold the housing 50 in a state in which the user can operate at least four operation units, can be easily held by the user, and has high operability. (Terminal device 7) can be provided.
以上のように、本実施形態においては、突起部(庇部59)の下面に指を当てた状態で端末装置7を把持することによって、ユーザは楽に端末装置7を把持することができる。また、突起部の上面に第2Lボタン54Kおよび第2Rボタン54Lが設けられるので、ユーザは上記の状態でこれらのボタンを容易に操作することができる。ユーザは、例えば次のような持ち方で端末装置7を容易に把持することができる。 As described above, in the present embodiment, the user can easily hold the terminal device 7 by holding the terminal device 7 with the finger placed on the lower surface of the protrusion (the collar portion 59). In addition, since the second L button 54K and the second R button 54L are provided on the upper surface of the protrusion, the user can easily operate these buttons in the above state. For example, the user can easily hold the terminal device 7 in the following manner.
すなわち、ユーザは、図10に示すように、薬指を庇部59の下面(図10に示す一点鎖線)に当てて(薬指で庇部59を支えるように)端末装置7を把持することも可能である。このとき、ユーザは、4つのボタン(第1Lボタン54I、第1Rボタン54J、第2Lボタン54K、および第2Rボタン54L)を人差し指および中指で操作することができる。例えば、要求されるゲーム操作が、使用するボタンが多く、比較的複雑である場合には、図10に示すように把持することで、多くのボタンを容易に操作することができる。なお、各アナログスティック53Aおよび53Bは十字ボタン54Aおよびボタン54E〜54Hの上側に設けられるので、比較的複雑な操作が要求される場合にユーザは親指でアナログスティック53Aおよび53Bを操作することができ、好都合である。また、図10においては、ユーザは、ハウジング50の表面に親指を、ハウジング50の上面に人差し指を、ハウジング50の裏面における庇部59の上面に中指を、庇部59の下面に薬指を、ハウジング50の裏面に小指を当てて端末装置7を把持する。このように、ユーザは、ハウジング50を四方から包み込むようにして端末装置7をしっかりと把持することができる。 That is, as shown in FIG. 10, the user can hold the terminal device 7 by placing the ring finger on the lower surface of the heel part 59 (the dashed line shown in FIG. 10) (supporting the heel part 59 with the ring finger). It is. At this time, the user can operate the four buttons (first L button 54I, first R button 54J, second L button 54K, and second R button 54L) with the index finger and the middle finger. For example, when a required game operation has many buttons to be used and is relatively complicated, many buttons can be easily operated by gripping as shown in FIG. Since each analog stick 53A and 53B is provided above the cross button 54A and the buttons 54E to 54H, the user can operate the analog sticks 53A and 53B with the thumb when a relatively complicated operation is required. Convenient. In FIG. 10, the user places a thumb on the surface of the housing 50, an index finger on the upper surface of the housing 50, a middle finger on the upper surface of the collar portion 59 on the rear surface of the housing 50, and a ring finger on the lower surface of the collar portion 59. The terminal device 7 is held by placing a little finger on the back surface of 50. Thus, the user can firmly hold the terminal device 7 so as to wrap the housing 50 from all sides.
また、ユーザは、中指を庇部59の下面に当てて端末装置7を把持することも可能である。このとき、ユーザは、2つのボタン(第2Lボタン54Kおよび第2Rボタン54L)を人差し指で容易に操作することができる。例えば、要求されるゲーム操作が、使用するボタンが少なく、比較的単純である場合には、中指を庇部59の下面に当てて端末装置7を把持してもよい。このとき、ユーザは、2本の指(薬指および小指)でハウジング50の下側を把持することができるので、しっかりと端末装置7を把持することができる。 In addition, the user can hold the terminal device 7 by placing the middle finger on the lower surface of the collar portion 59. At this time, the user can easily operate the two buttons (the second L button 54K and the second R button 54L) with the index finger. For example, when the requested game operation is relatively simple with few buttons to be used, the terminal device 7 may be gripped by placing the middle finger on the lower surface of the collar portion 59. At this time, since the user can hold the lower side of the housing 50 with two fingers (ring finger and little finger), the user can hold the terminal device 7 firmly.
なお、本実施形態においては、庇部59の下面が、各アナログスティック53Aおよび53Bと、十字ボタン54Aおよび4つのボタン54E〜54Hとの間に位置するように(各アナログスティック53Aおよび53Bよりも下方で、かつ、十字ボタン54Aおよび4つのボタン54E〜54Hよりも上方に位置するように)設けられる。したがって、薬指を庇部59に当てて端末装置7を把持する場合(図10)には、各アナログスティック53Aおよび53Bを親指で操作しやすくなり、中指を庇部59に当てて端末装置7を把持する場合には、十字ボタン54Aおよび4つのボタン54E〜54Hを親指で操作しやすくなっている。つまり、上記2種類の場合のいずれにおいても、ユーザは、端末装置7をしっかりと把持した状態で方向入力操作を行うことができる。 In the present embodiment, the lower surface of the collar portion 59 is positioned between the analog sticks 53A and 53B and the cross button 54A and the four buttons 54E to 54H (more than the analog sticks 53A and 53B). And provided above the cross button 54A and the four buttons 54E to 54H). Therefore, when holding the terminal device 7 by placing the ring finger against the buttocks 59 (FIG. 10), the analog sticks 53A and 53B can be easily operated with the thumb, and the terminal device 7 is placed by placing the middle finger against the buttocks 59. When grasping, it is easy to operate the cross button 54A and the four buttons 54E to 54H with the thumb. That is, in any of the above two cases, the user can perform a direction input operation while firmly holding the terminal device 7.
また、上述のように、ユーザは端末装置7を縦持ちで把持することも可能である。すなわち、ユーザは端末装置7の上辺または下辺を一方の手で把持することで端末装置7を縦向きで把持することが可能である。このように、ユーザは端末装置7を片手で把持することが可能であるので、例えば、一方の手で端末装置7を把持しながら他方の手でタッチパネル52に対する入力を行うといった操作を行うことも可能である。 Further, as described above, the user can also hold the terminal device 7 while holding it vertically. That is, the user can hold the terminal device 7 in the vertical direction by holding the upper side or the lower side of the terminal device 7 with one hand. As described above, since the user can hold the terminal device 7 with one hand, for example, the user can perform an operation of holding the terminal device 7 with one hand and performing an input to the touch panel 52 with the other hand. Is possible.
また、端末装置7の上辺を把持する場合、ユーザは親指以外の指を庇部59の下面に当てることで、端末装置7をしっかりと把持することができる。特に、本実施形態においては、庇部59が左右に延びて形成されているので、ユーザは端末装置7の上辺におけるどこの位置で把持しても、親指以外の指を庇部59に当てることができ、端末装置7をしっかりと把持することができる。すなわち、端末装置7を縦持ちで使う場合には、庇部59は取っ手として使うことができる。一方、端末装置7の下辺を片手で把持する場合、ユーザは、その手でボタン54B〜54Dを操作することができる。したがって、例えば片手でタッチパネル52に対する入力を行いつつ、端末装置7を把持する手でボタン54B〜54Dに対する操作を行うことができ、より多くの操作を行うことができる。 In addition, when gripping the upper side of the terminal device 7, the user can grip the terminal device 7 firmly by placing a finger other than the thumb against the lower surface of the collar portion 59. In particular, in the present embodiment, since the collar portion 59 is formed to extend to the left and right, the user places a finger other than the thumb on the collar portion 59 regardless of the position on the upper side of the terminal device 7. And the terminal device 7 can be firmly held. That is, when the terminal device 7 is used in a vertical orientation, the collar portion 59 can be used as a handle. On the other hand, when gripping the lower side of the terminal device 7 with one hand, the user can operate the buttons 54B to 54D with the hand. Therefore, for example, it is possible to perform operations on the buttons 54B to 54D with a hand holding the terminal device 7 while performing an input on the touch panel 52 with one hand, and more operations can be performed.
なお、本実施形態における端末装置7に関しては、突起部(庇部59)が裏面に設けられるので、LCD51の画面(ハウジング50の表面)が上を向いた状態で端末装置7を載置させる場合、画面がやや傾いた状態となる。これによって、端末装置7を載置した状態において画面がより見やすくなる。また、端末装置7を載置した状態においてタッチパネル52に対する入力操作が行いやすくなる。また、他の実施形態においては、上記庇部59と同程度の高さを有する追加の突起部がハウジング50の裏面に形成されてもよい。これによれば、LCD51の画面が上を向いた状態では、各突起部が床面に接することで、画面が水平になるように端末装置7を載置することができる。また、追加の突起部を着脱可能な(または折り畳み可能な)ものにしてもよい。これによれば、画面がやや傾いた状態と、画面が水平になる状態との両方で端末装置を載置することができる。すなわち、端末装置7を置いて使う場合には、庇部59は、脚部として使うことができる。 In addition, regarding the terminal device 7 in the present embodiment, since the protrusion (the flange portion 59) is provided on the back surface, the terminal device 7 is placed with the screen of the LCD 51 (the surface of the housing 50) facing upward. The screen is slightly tilted. This makes it easier to see the screen when the terminal device 7 is placed. Further, it becomes easy to perform an input operation on the touch panel 52 in a state where the terminal device 7 is placed. In another embodiment, an additional protrusion having the same height as the flange 59 may be formed on the back surface of the housing 50. According to this, in a state where the screen of the LCD 51 is facing upward, the terminal device 7 can be placed so that the screen is horizontal as each projection comes into contact with the floor surface. Further, the additional protrusions may be removable (or foldable). According to this, the terminal device can be placed both in a state where the screen is slightly inclined and in a state where the screen is horizontal. That is, when the terminal device 7 is placed and used, the heel portion 59 can be used as a leg portion.
各ボタン54A〜54Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン54Aおよびボタン54E〜54Hは方向指示操作や選択操作等に用いられてもよいし、各ボタン54B〜54Eは決定操作やキャンセル操作等に用いられてもよい。また、端末装置7は、LCD51の画面表示をオン/オフするためのボタンや、ゲーム装置3との接続設定(ペアリング)を行うためのボタンを有していてもよい。 Functions corresponding to the game program are appropriately assigned to the buttons 54A to 54L. For example, the cross button 54A and the buttons 54E to 54H may be used for a direction instruction operation or a selection operation, and the buttons 54B to 54E may be used for a determination operation or a cancel operation. Further, the terminal device 7 may have a button for turning on / off the screen display of the LCD 51 and a button for performing connection setting (pairing) with the game device 3.
図8の(a)図に示すように、端末装置7は、マーカ55Aおよびマーカ55Bからなるマーカ部55をハウジング50の表面に備えている。マーカ部55は、LCD51の上側に設けられる。各マーカ55Aおよびマーカ55Bは、マーカ装置6の各マーカ6Rおよび6Lと同様、1以上の赤外LEDで構成される。マーカ55Aおよび55Bを構成する赤外LEDは、赤外光を透過する窓部の内側に配置される。マーカ部55は、上述のマーカ装置6と同様、コントローラ5の動き等をゲーム装置3が算出するために用いられる。また、ゲーム装置3はマーカ部55が備える各赤外LEDの点灯を制御することが可能である。 As illustrated in FIG. 8A, the terminal device 7 includes a marker portion 55 including a marker 55 </ b> A and a marker 55 </ b> B on the surface of the housing 50. The marker unit 55 is provided on the upper side of the LCD 51. Each of the markers 55A and 55B is composed of one or more infrared LEDs, like the markers 6R and 6L of the marker device 6. Infrared LEDs constituting the markers 55A and 55B are disposed inside a window portion that transmits infrared light. The marker unit 55 is used for the game device 3 to calculate the movement of the controller 5 and the like, similar to the marker device 6 described above. Further, the game apparatus 3 can control lighting of each infrared LED included in the marker unit 55.
端末装置7は、撮像手段であるカメラ56を備えている。カメラ56は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。図8に示すように、本実施形態では、カメラ56はハウジング50の表面に設けられる。したがって、カメラ56は、端末装置7を持っているユーザの顔を撮像することができ、例えばLCD51を見ながらゲームを行っている時のユーザを撮像することができる。本実施形態においては、カメラ56は、2つのマーカ55Aおよび55Bの間に配置される。 The terminal device 7 includes a camera 56 that is an imaging unit. The camera 56 includes an imaging element (for example, a CCD image sensor or a CMOS image sensor) having a predetermined resolution, and a lens. As shown in FIG. 8, in this embodiment, the camera 56 is provided on the surface of the housing 50. Therefore, the camera 56 can take an image of the face of the user who has the terminal device 7, and can, for example, take an image of the user who is playing the game while looking at the LCD 51. In the present embodiment, the camera 56 is disposed between the two markers 55A and 55B.
なお、端末装置7は、音声入力手段であるマイク79を備えている。ハウジング50の表面には、マイクロフォン用孔50cが設けられる。マイク79はこのマイクロフォン用孔50cの奥のハウジング50内部に設けられる。マイク79は、ユーザの音声等、端末装置7の周囲の音を検出する。 The terminal device 7 includes a microphone 79 that is a voice input unit. A microphone hole 50 c is provided on the surface of the housing 50. The microphone 79 is provided inside the housing 50 behind the microphone hole 50c. The microphone 79 detects sounds around the terminal device 7 such as a user's voice.
端末装置7は、音声出力手段であるスピーカ77を備えている。図8の(d)図に示すように、ハウジング50の表面の下側にはスピーカ孔57が設けられる。スピーカ77の出力音はこのスピーカ孔57から出力される。本実施形態では、端末装置7は2つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔57が設けられる。なお、端末装置7は、スピーカ77の音量を調節するためのつまみ64を備える。また、端末装置7は、イヤホン等の音声出力部を接続するための音声出力端子62を備える。ここでは、ハウジングの下側の側面に付加装置が接続されることを考慮して、上記音声出力端子62およびつまみ64はハウジング50の上画の側面に設けられるが、左右の側面や下側の側面に設けられてもよい。 The terminal device 7 includes a speaker 77 which is an audio output unit. As shown in FIG. 8D, a speaker hole 57 is provided below the surface of the housing 50. The output sound of the speaker 77 is output from the speaker hole 57. In the present embodiment, the terminal device 7 includes two speakers, and speaker holes 57 are provided at positions of the left speaker and the right speaker. The terminal device 7 includes a knob 64 for adjusting the volume of the speaker 77. The terminal device 7 includes an audio output terminal 62 for connecting an audio output unit such as an earphone. Here, considering that an additional device is connected to the lower side surface of the housing, the audio output terminal 62 and the knob 64 are provided on the upper side surface of the housing 50. It may be provided on the side surface.
また、ハウジング50には、赤外線通信モジュール82からの赤外線信号を端末装置7の外部に出射するための窓63が設けられる。ここでは、LCD51の両側を把持した場合にユーザの前方へ赤外線信号が発射されるように、窓63はハウジング50の上側の側面に設けられる。ただし、他の実施形態においては、窓63は、例えばハウジング50の裏面等、どの位置に設けられてもよい。 The housing 50 is provided with a window 63 for emitting an infrared signal from the infrared communication module 82 to the outside of the terminal device 7. Here, the window 63 is provided on the upper side surface of the housing 50 so that an infrared signal is emitted forward of the user when both sides of the LCD 51 are gripped. However, in other embodiments, the window 63 may be provided at any position such as the back surface of the housing 50.
また、端末装置7は、他の装置を端末装置7に接続するための拡張コネクタ58を備えている。拡張コネクタ58は、端末装置7に接続される他の装置との間でデータ(情報)を送受信するための通信端子である。本実施形態においては、図8の(d)図に示すように、拡張コネクタ58は、ハウジング50の下側側面に設けられる。なお、拡張コネクタ58に接続される他の付加装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ(銃型のコントローラ等)やキーボード等の入力装置であってもよい。付加装置を接続する必要がなければ、拡張コネクタ58は設けられていなくともよい。拡張コネクタ58には、付加装置に電力を供給する端子や、充電のための端子が含まれていてもよい。 Further, the terminal device 7 includes an expansion connector 58 for connecting other devices to the terminal device 7. The extension connector 58 is a communication terminal for transmitting / receiving data (information) to / from other devices connected to the terminal device 7. In the present embodiment, the extension connector 58 is provided on the lower side surface of the housing 50 as shown in FIG. Note that any other additional device connected to the expansion connector 58 may be used. For example, a controller (gun-type controller or the like) used for a specific game or an input device such as a keyboard may be used. . If it is not necessary to connect an additional device, the expansion connector 58 may not be provided. The expansion connector 58 may include a terminal for supplying power to the additional device and a terminal for charging.
また、端末装置7は、拡張コネクタ58とは別に、付加装置から電力を取得するための充電端子66を有する。図示しない充電スタンドに充電端子66が接続された場合、充電スタンドから端末装置7へ電力が供給される。本実施形態では、充電端子66はハウジング50の下側側面に設けられる。したがって、端末装置7と付加装置とが接続される際には、拡張コネクタ58を介して情報を送受信することに加えて、一方から他方への電力供給を行うことも可能である。このように、拡張コネクタ58の周囲(左右両側)に充電端子66を設けることによって、端末装置7と付加装置とが接続される際に、情報の送受信とともに、電力供給を行うことも可能である。また、端末装置7は充電コネクタを有し、ハウジング50は充電コネクタを保護するためのカバー部61を有する。充電コネクタは、後述する充電器86に接続可能であり、充電器に充電コネクタが接続された場合、充電器86から端末装置7へ電力が供給される。本実施形態では、ハウジングの下側の側面に付加装置が接続されることを考慮して、充電コネクタ(カバー部61)はハウジング50の上画の側面に設けられるが、左右の側面や下側の側面に設けられてもよい。 Further, the terminal device 7 includes a charging terminal 66 for acquiring power from the additional device, separately from the expansion connector 58. When the charging terminal 66 is connected to a charging stand (not shown), power is supplied from the charging stand to the terminal device 7. In the present embodiment, the charging terminal 66 is provided on the lower side surface of the housing 50. Therefore, when the terminal device 7 and the additional device are connected, in addition to transmitting and receiving information via the extension connector 58, it is also possible to supply power from one to the other. Thus, by providing the charging terminal 66 around the expansion connector 58 (on the left and right sides), when the terminal device 7 and the additional device are connected, it is possible to supply power as well as transmit and receive information. . Further, the terminal device 7 has a charging connector, and the housing 50 has a cover portion 61 for protecting the charging connector. The charging connector can be connected to a charger 86 to be described later. When the charging connector is connected to the charger, power is supplied from the charger 86 to the terminal device 7. In this embodiment, considering that the additional device is connected to the lower side surface of the housing, the charging connector (cover portion 61) is provided on the upper side surface of the housing 50. It may be provided on the side surface.
図8(d)および図9に示すように、突起部(庇部59)の下面には、付加装置が有する爪部が係止可能な係止穴59aおよび59bが設けられる。係止穴59aおよび59bは、端末装置7に他の付加装置を接続する際に用いられる。すなわち、付加装置は係止穴59aおよび59bに係止可能な爪部を有し、端末装置7に付加装置を接続する場合には、爪部が係止穴59aおよび59bに係止することによって端末装置7と付加装置とが固定される。また、係止穴59aおよび59bの内部に、さらにネジ穴を設けてもよく、付加装置をネジで強固に固定するようにしてもよい。なお、ここでは、端末装置7の裏面に設けられる突起部は、庇状の形状を有する庇部59である。すなわち、庇部59は左右方向に延びて設けられる。図9に示すように、係止穴59aおよび59bは、庇部59の下面の(左右方向に関して)中央付近に設けられる。なお、庇部59の下面に設けられる係止穴59aおよび59bの個数はいくつであってもよいが、1つである場合には庇部59の中央に設けられることが好ましく、複数である場合には左右対称に配置されることが好ましい。これによれば、左右のバランスを均等に保って付加装置を安定的に接続することができる。また、係止穴が中央付近に設けられる場合には、左右の両端に設けられる場合に比べて、付加装置のサイズを小さくすることができる。以上のように、庇部59は、付加装置の係止部材として使うことができる。 As shown in FIGS. 8D and 9, locking holes 59 a and 59 b that can lock the claw portions of the additional device are provided on the lower surface of the protruding portion (the flange portion 59). The locking holes 59 a and 59 b are used when connecting another additional device to the terminal device 7. That is, the additional device has a claw portion that can be locked in the locking holes 59a and 59b. When the additional device is connected to the terminal device 7, the claw portion is locked in the locking holes 59a and 59b. The terminal device 7 and the additional device are fixed. Further, screw holes may be further provided inside the locking holes 59a and 59b, and the additional device may be firmly fixed with screws. Here, the protrusion provided on the back surface of the terminal device 7 is a flange 59 having a hook shape. That is, the collar part 59 is provided extending in the left-right direction. As shown in FIG. 9, the locking holes 59 a and 59 b are provided near the center (with respect to the left-right direction) of the lower surface of the flange portion 59. Note that the number of the locking holes 59a and 59b provided on the lower surface of the flange portion 59 may be any number, but when it is one, it is preferably provided in the center of the flange portion 59, and there are a plurality Are preferably arranged symmetrically. According to this, it is possible to stably connect the additional device while keeping the left and right balance equal. Further, when the locking hole is provided near the center, the size of the additional device can be reduced as compared with the case where the locking hole is provided at both the left and right ends. As described above, the flange portion 59 can be used as a locking member of the additional device.
また、本実施形態においては、図8(d)に示すように、ハウジング50の下面に係止穴50aおよび50bが設けられる。したがって、端末装置7に付加装置を接続する場合には、4つの爪部が4つの各係止穴にそれぞれ係止することによって端末装置7と付加装置とが固定される。これによって、付加装置を端末装置7により強固に接続することができる。なお、係止穴50aおよび50bの内部にもネジ穴を設け、付加装置をネジ止めするようにしてもよい。ネジ止めの位置は、どこであってもよいが、例えば、ハウジング50の背面に当接する付加装置の支持部と、庇部59とがネジ止めされてもよい。また、他の実施形態においては、ハウジングに設けられる係止穴は、どのような配置であってもよい。 In the present embodiment, as shown in FIG. 8D, locking holes 50 a and 50 b are provided on the lower surface of the housing 50. Therefore, when connecting the additional device to the terminal device 7, the terminal device 7 and the additional device are fixed by the four claw portions being respectively locked in the four locking holes. As a result, the additional device can be firmly connected to the terminal device 7. It should be noted that screw holes may be provided inside the locking holes 50a and 50b, and the additional device may be screwed. The screwing position may be anywhere, but, for example, the supporting portion of the additional device that contacts the back surface of the housing 50 and the flange portion 59 may be screwed. In other embodiments, the locking holes provided in the housing may be arranged in any manner.
また、端末装置7は、ハウジング50に対して着脱可能な電池蓋67を有している。電池蓋67の内側には電池(図11に示す電池85)が配置される。本実施形態においては、電池蓋67はハウジング50の裏側に設けられ、突起部(庇部59)の下側に設けられる。 Further, the terminal device 7 has a battery lid 67 that can be attached to and detached from the housing 50. A battery (battery 85 shown in FIG. 11) is disposed inside the battery lid 67. In the present embodiment, the battery lid 67 is provided on the back side of the housing 50 and is provided on the lower side of the protrusion (the flange 59).
また、端末装置7のハウジング50には、ストラップの紐を結びつけるための孔65aおよび65bが設けられる。図8(d)に示すように、本実施形態においては、孔65aおよび65bはハウジング50の下面に設けられる。また、本実施形態においては、2つの孔65aおよび65bがハウジング50の左右両側にそれぞれ1つずつ設けられる。すなわち、孔65aがハウジング50の下面の中央より左側に設けられ、孔65bがハウジング50の下面の中央より右側に設けられる。ユーザは、孔65aおよび65bのいずれかにストラップを結びつけ、ストラップを自身の手首に結びつけてもよい。これによって、万一ユーザが端末装置7を落としたり、端末装置7が手から離れたりした場合でも、端末装置7が落下したり他の物に衝突したりすることを防止することができる。なお、本実施形態においては、左右両側にそれぞれ孔が設けられるので、ユーザは、どちらの手にもストラップを結びつけることができ、便利である。 Further, the housing 50 of the terminal device 7 is provided with holes 65a and 65b for tying strap strings. As shown in FIG. 8D, in the present embodiment, the holes 65 a and 65 b are provided on the lower surface of the housing 50. In the present embodiment, two holes 65 a and 65 b are provided on each of the left and right sides of the housing 50. That is, the hole 65 a is provided on the left side from the center of the lower surface of the housing 50, and the hole 65 b is provided on the right side of the center of the lower surface of the housing 50. The user may tie a strap to either of the holes 65a and 65b and tie the strap to his / her wrist. Thereby, even if the user drops the terminal device 7 or the terminal device 7 is removed from the hand, the terminal device 7 can be prevented from dropping or colliding with another object. In the present embodiment, since the holes are provided on both the left and right sides, the user can tie the strap to either hand, which is convenient.
なお、図8〜図11に示した端末装置7に関して、各操作ボタンやハウジング50の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。 In addition, regarding the terminal device 7 shown in FIGS. 8 to 11, the shapes of the operation buttons and the housing 50, the number of components, the installation positions, and the like are merely examples, and other shapes, numbers, and installation positions are provided. It may be.
次に、図11を参照して、端末装置7の内部構成について説明する。図11は、端末装置7の内部構成を示すブロック図である。図11に示すように、端末装置7は、図8に示した構成の他、タッチパネルコントローラ71、磁気センサ72、加速度センサ73、ジャイロセンサ74、ユーザインタフェースコントローラ(UIコントローラ)75、コーデックLSI76、スピーカ77、サウンドIC78、マイク79、無線モジュール80、アンテナ81、赤外線通信モジュール82、フラッシュメモリ83、電源IC84、および電池85を備える。これらの電子部品は、電子回路基板上に実装されてハウジング50内に収納される。 Next, the internal configuration of the terminal device 7 will be described with reference to FIG. FIG. 11 is a block diagram illustrating an internal configuration of the terminal device 7. As shown in FIG. 11, in addition to the configuration shown in FIG. 8, the terminal device 7 includes a touch panel controller 71, a magnetic sensor 72, an acceleration sensor 73, a gyro sensor 74, a user interface controller (UI controller) 75, a codec LSI 76, a speaker. 77, a sound IC 78, a microphone 79, a wireless module 80, an antenna 81, an infrared communication module 82, a flash memory 83, a power supply IC 84, and a battery 85. These electronic components are mounted on an electronic circuit board and stored in the housing 50.
UIコントローラ75は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ75は、タッチパネルコントローラ71、アナログスティック53(アナログスティック53Aおよび53B)、操作ボタン54(各操作ボタン54A〜54L)、マーカ部55、磁気センサ72、加速度センサ73、およびジャイロセンサ74に接続される。また、UIコントローラ75は、コーデックLSI76と拡張コネクタ58に接続される。また、UIコントローラ75には電源IC84が接続され、UIコントローラ75を介して各部に電力が供給される。電源IC84には内蔵の電池85が接続され、電力が供給される。また、電源IC84には、外部電源から電力を取得可能な充電器86またはケーブルを充電コネクタを介して接続することが可能であり、端末装置7は、当該充電器86またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置7は、図示しない充電機能を有するクレイドルに端末装置7を装着することで充電を行うことも可能である。すなわち、図示しないが、電源IC84には、外部電源から電力を取得可能なクレイドルを充電端子66を介して接続することが可能であり、端末装置7は、クレイドルを用いて外部電源からの電力供給と充電を行うことができる。 The UI controller 75 is a circuit for controlling input / output of data to / from various input / output units. The UI controller 75 is connected to the touch panel controller 71, analog stick 53 (analog sticks 53A and 53B), operation buttons 54 (operation buttons 54A to 54L), a marker unit 55, a magnetic sensor 72, an acceleration sensor 73, and a gyro sensor 74. Is done. The UI controller 75 is connected to the codec LSI 76 and the extension connector 58. A power supply IC 84 is connected to the UI controller 75, and power is supplied to each unit via the UI controller 75. A built-in battery 85 is connected to the power supply IC 84 to supply power. In addition, a charger 86 or a cable that can acquire power from an external power source can be connected to the power supply IC 84 via a charging connector. The terminal device 7 can be connected to the external power source using the charger 86 or the cable. Power supply and charging from can be performed. The terminal device 7 can also be charged by mounting the terminal device 7 on a cradle having a charging function (not shown). That is, although not shown, a cradle capable of acquiring power from an external power source can be connected to the power supply IC 84 via the charging terminal 66, and the terminal device 7 supplies power from the external power source using the cradle. And can be charged.
タッチパネルコントローラ71は、タッチパネル52に接続され、タッチパネル52の制御を行う回路である。タッチパネルコントローラ71は、タッチパネル52からの信号に基づいて所定の形式の入力位置データを生成してUIコントローラ75へ出力する。入力位置データは、タッチパネル52の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ71は、タッチパネル52からの信号の読み込み、および、入力位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ75からタッチパネルコントローラ71へは、タッチパネル52に対する各種の制御指示が出力される。 The touch panel controller 71 is a circuit that is connected to the touch panel 52 and controls the touch panel 52. The touch panel controller 71 generates input position data in a predetermined format based on a signal from the touch panel 52 and outputs the input position data to the UI controller 75. The input position data represents the coordinates of the position where the input is performed on the input surface of the touch panel 52. The touch panel controller 71 reads a signal from the touch panel 52 and generates input position data at a rate of once per predetermined time. Various control instructions for the touch panel 52 are output from the UI controller 75 to the touch panel controller 71.
アナログスティック53は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ75へ出力する。また、操作ボタン54は、各操作ボタン54A〜54Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ75へ出力する。 The analog stick 53 outputs to the UI controller 75 stick data representing the direction and amount in which the stick unit operated by the user's finger has slid (or tilted). In addition, the operation button 54 outputs operation button data representing the input status (whether or not it has been pressed) to each of the operation buttons 54 </ b> A to 54 </ b> L to the UI controller 75.
磁気センサ72は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ75へ出力される。また、UIコントローラ75から磁気センサ72へは、磁気センサ72に対する制御指示が出力される。磁気センサ72に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置7が動いた場合には方位データが変化するため、端末装置7の姿勢の変化を算出することができる。 The magnetic sensor 72 detects the direction by detecting the magnitude and direction of the magnetic field. The azimuth data indicating the detected azimuth is output to the UI controller 75. In addition, a control instruction for the magnetic sensor 72 is output from the UI controller 75 to the magnetic sensor 72. For the magnetic sensor 72, an MI (magnetic impedance) element, a fluxgate sensor, a Hall element, a GMR (giant magnetoresistance) element, a TMR (tunnel magnetoresistance) element, an AMR (anisotropic magnetoresistance) element, or the like was used. Although there is a sensor, any sensor may be used as long as it can detect the direction. Strictly speaking, in a place where a magnetic field is generated in addition to the geomagnetism, the obtained azimuth data does not indicate the azimuth, but even in such a case, the terminal device 7 moves. Since the orientation data changes, the change in the attitude of the terminal device 7 can be calculated.
加速度センサ73は、ハウジング50の内部に設けられ、3軸(図8の(a)図に示すxyz軸)方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ73は、ハウジング50の長辺方向をx軸、ハウジング50の表面に対して垂直な方向をy軸、ハウジング50の短辺方向をz軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ75へ出力される。また、UIコントローラ75から加速度センサ73へは、加速度センサ73に対する制御指示が出力される。加速度センサ73は、本実施形態では例えば静電容量式のMEMS型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ73は1軸または2軸方向を検出する加速度センサであってもよい。 The acceleration sensor 73 is provided inside the housing 50 and detects the magnitude of linear acceleration along the direction of three axes (xyz axes shown in FIG. 8A). Specifically, the acceleration sensor 73 has a linear acceleration of each axis with the long side direction of the housing 50 as the x axis, the direction perpendicular to the surface of the housing 50 as the y axis, and the short side direction of the housing 50 as the z axis. Detect the size of. Acceleration data representing the detected acceleration is output to the UI controller 75. A control instruction for the acceleration sensor 73 is output from the UI controller 75 to the acceleration sensor 73. The acceleration sensor 73 is, for example, a capacitive MEMS acceleration sensor in the present embodiment, but other types of acceleration sensors may be used in other embodiments. Further, the acceleration sensor 73 may be an acceleration sensor that detects a uniaxial or biaxial direction.
ジャイロセンサ74は、ハウジング50の内部に設けられ、上記x軸、y軸およびz軸の3軸周りの角速度を検出する。検出された角速度を表す角速度データは、UIコントローラ75へ出力される。また、UIコントローラ75からジャイロセンサ74へは、ジャイロセンサ74に対する制御指示が出力される。なお、3軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ74はジャイロセンサ48と同様、2軸ジャイロセンサと1軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ74は1軸または2軸方向を検出するジャイロセンサであってもよい。 The gyro sensor 74 is provided inside the housing 50 and detects angular velocities around the three axes of the x axis, the y axis, and the z axis. Angular velocity data representing the detected angular velocity is output to the UI controller 75. Further, a control instruction for the gyro sensor 74 is output from the UI controller 75 to the gyro sensor 74. Any number and combination of gyro sensors may be used to detect the three-axis angular velocity, and the gyro sensor 74 is similar to the gyro sensor 48 in that a two-axis gyro sensor, a one-axis gyro sensor, It may be constituted by. Further, the gyro sensor 74 may be a gyro sensor that detects a uniaxial or biaxial direction.
UIコントローラ75は、上記の各構成要素から受け取った入力位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックLSI76へ出力する。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。 The UI controller 75 outputs operation data including input position data, stick data, operation button data, azimuth data, acceleration data, and angular velocity data received from each of the above components to the codec LSI 76. When another device is connected to the terminal device 7 via the extension connector 58, the operation data may further include data representing an operation on the other device.
コーデックLSI76は、ゲーム装置3へ送信するデータに対する圧縮処理、および、ゲーム装置3から送信されたデータに対する伸張処理を行う回路である。コーデックLSI76には、LCD51、カメラ56、サウンドIC78、無線モジュール80、フラッシュメモリ83、および赤外線通信モジュール82が接続される。また、コーデックLSI76はCPU87と内部メモリ88を含む。端末装置7はゲーム処理自体を行なわない構成であるが、端末装置7の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ83に格納されたプログラムを内部メモリ88に読み出してCPU87が実行することで、端末装置7が起動する。また、内部メモリ88の一部の領域はLCD51のためのVRAMとして使用される。 The codec LSI 76 is a circuit that performs compression processing on data transmitted to the game apparatus 3 and expansion processing on data transmitted from the game apparatus 3. The codec LSI 76 is connected to the LCD 51, the camera 56, the sound IC 78, the wireless module 80, the flash memory 83, and the infrared communication module 82. The codec LSI 76 includes a CPU 87 and an internal memory 88. Although the terminal device 7 is configured not to perform the game process itself, it is necessary to execute a minimum program for management and communication of the terminal device 7. When the power is turned on, the program stored in the flash memory 83 is read into the internal memory 88 and executed by the CPU 87, whereby the terminal device 7 is activated. A part of the internal memory 88 is used as a VRAM for the LCD 51.
カメラ56は、ゲーム装置3からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI76へ出力する。また、コーデックLSI76からカメラ56へは、画像の撮像指示等、カメラ56に対する制御指示が出力される。なお、カメラ56は動画の撮影も可能である。すなわち、カメラ56は、繰り返し撮像を行って画像データをコーデックLSI76へ繰り返し出力することも可能である。 The camera 56 captures an image in accordance with an instruction from the game apparatus 3 and outputs the captured image data to the codec LSI 76. Control instructions for the camera 56 such as an image capturing instruction are output from the codec LSI 76 to the camera 56. Note that the camera 56 can also capture moving images. That is, the camera 56 can repeatedly capture images and repeatedly output image data to the codec LSI 76.
サウンドIC78は、スピーカ77およびマイク79に接続され、スピーカ77およびマイク79への音声データの入出力を制御する回路である。すなわち、コーデックLSI76から音声データを受け取った場合、サウンドIC78は当該音声データに対してD/A変換を行って得られる音声信号をスピーカ77へ出力し、スピーカ77から音を出力させる。また、マイク79は、端末装置7に伝わる音(ユーザの音声等)を検知して、当該音を示す音声信号をサウンドIC78へ出力する。サウンドIC78は、マイク79からの音声信号に対してA/D変換を行い、所定の形式の音声データをコーデックLSI76へ出力する。 The sound IC 78 is a circuit that is connected to the speaker 77 and the microphone 79 and controls input / output of audio data to and from the speaker 77 and the microphone 79. That is, when audio data is received from the codec LSI 76, the sound IC 78 outputs an audio signal obtained by performing D / A conversion on the audio data to the speaker 77, and outputs sound from the speaker 77. The microphone 79 detects a sound (such as a user's voice) transmitted to the terminal device 7 and outputs a sound signal indicating the sound to the sound IC 78. The sound IC 78 performs A / D conversion on the audio signal from the microphone 79 and outputs audio data in a predetermined format to the codec LSI 76.
赤外線通信モジュール82は、赤外線信号を発光し、他の装置との間で赤外線通信を行う。ここでは、赤外線通信モジュール82は、例えばIrDAの規格に従った赤外線通信を行う機能と、テレビ2を制御するための赤外線信号(制御信号)を出力する機能とを備える。 The infrared communication module 82 emits an infrared signal and performs infrared communication with other devices. Here, the infrared communication module 82 includes, for example, a function of performing infrared communication according to the IrDA standard and a function of outputting an infrared signal (control signal) for controlling the television 2.
コーデックLSI76は、カメラ56からの画像データ、マイク79からの音声データ、および、UIコントローラ75からの操作データを、端末操作データとして無線モジュール80を介してゲーム装置3へ送信する。本実施形態では、コーデックLSI76は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール80へ出力される。無線モジュール80にはアンテナ81が接続されており、無線モジュール80はアンテナ81を介してゲーム装置3へ上記送信データを送信する。無線モジュール80は、ゲーム装置3の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール80は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。 The codec LSI 76 transmits the image data from the camera 56, the audio data from the microphone 79, and the operation data from the UI controller 75 to the game apparatus 3 via the wireless module 80 as terminal operation data. In the present embodiment, the codec LSI 76 performs the same compression processing as the codec LSI 27 on the image data and the audio data. The terminal operation data and the compressed image data and audio data are output to the wireless module 80 as transmission data. An antenna 81 is connected to the wireless module 80, and the wireless module 80 transmits the transmission data to the game apparatus 3 via the antenna 81. The wireless module 80 has the same function as the terminal communication module 28 of the game apparatus 3. That is, the wireless module 80 has a function of connecting to a wireless LAN by a method compliant with, for example, the IEEE 802.11n standard. The data to be transmitted may or may not be encrypted as necessary.
以上のように、端末装置7からゲーム装置3へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含まれる。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。コーデックLSI76は、赤外線通信モジュール82による赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置3へ送信してもよい。 As described above, the transmission data transmitted from the terminal device 7 to the game apparatus 3 includes operation data (terminal operation data), image data, and audio data. When another device is connected to the terminal device 7 via the extension connector 58, the data received from the other device may be further included in the transmission data. The codec LSI 76 may transmit the data received by the infrared communication by the infrared communication module 82 to the game apparatus 3 by including the data in the transmission data as necessary.
また、上述のように、ゲーム装置3から端末装置7へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ81(受信部)で受信され、無線モジュール80を介してコーデックLSI76に送られる。コーデックLSI76は、受信された画像データおよび音声データを伸張する。伸張された画像データはLCD51へ出力され、画像がLCD51に表示される。つまり、コーデックLSI76(CPU87)は、受信された画像データを表示部に表示させる。また、伸張された音声データはサウンドIC78へ出力され、サウンドIC78はスピーカ77から音を出力させる。 Further, as described above, compressed image data and audio data are transmitted from the game apparatus 3 to the terminal apparatus 7. These data are received by the antenna 81 (receiving unit) and sent to the codec LSI 76 via the wireless module 80. The codec LSI 76 decompresses the received image data and audio data. The expanded image data is output to the LCD 51, and the image is displayed on the LCD 51. That is, the codec LSI 76 (CPU 87) displays the received image data on the display unit. The expanded audio data is output to the sound IC 78, and the sound IC 78 outputs sound from the speaker 77.
また、ゲーム装置3から受信されるデータに制御データが含まれる場合、コーデックLSI76およびUIコントローラ75は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置7が備える各構成要素(本実施形態では、カメラ56、タッチパネルコントローラ71、マーカ部55、各センサ62〜64、および赤外線通信モジュール82)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置7からゲーム装置3へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部55は赤外LEDであるので、制御は単に電力の供給のON/OFFでよい。 When the control data is included in the data received from the game apparatus 3, the codec LSI 76 and the UI controller 75 issue a control instruction to each unit according to the control data. As described above, the control data is a control instruction for each component (in this embodiment, the camera 56, the touch panel controller 71, the marker unit 55, the sensors 62 to 64, and the infrared communication module 82) included in the terminal device 7. It is data to represent. In the present embodiment, as the control instruction represented by the control data, an instruction to operate each of the above components or to stop (stop) the operation can be considered. That is, components that are not used in the game may be paused in order to reduce power consumption. In that case, the transmission data transmitted from the terminal device 7 to the game device 3 includes data from the paused components. Do not let it. In addition, since the marker part 55 is infrared LED, control may just be ON / OFF of supply of electric power.
また、ゲーム装置3は、上記赤外線通信モジュール82の出力を制御することによって、テレビ2の動作を制御することが可能である。すなわち、ゲーム装置3は、テレビ2を制御するための制御指令に対応する赤外線信号を赤外線通信モジュール82に出力させるための指示(上記制御データ)を端末装置7へ出力する。この指示に応じて、コーデックLSI76は、上記制御指令に対応する赤外線信号を赤外線通信モジュール82に出力させる。ここで、テレビ2は赤外線信号を受光可能な赤外線受光部を備えている。赤外線通信モジュール82から出力された赤外線信号が赤外線受光部によって受光されることで、テレビ2は当該赤外線信号に応じた動作を行う。なお、ゲーム装置3からの上記指示は、赤外線信号のパターンを示すものであってもよいし、端末装置7が赤外線信号のパターンを記憶している場合には、当該パターンを示す指示であってもよい。 The game apparatus 3 can control the operation of the television 2 by controlling the output of the infrared communication module 82. That is, the game apparatus 3 outputs an instruction (the control data) for causing the infrared communication module 82 to output an infrared signal corresponding to a control command for controlling the television 2 to the terminal apparatus 7. In response to this instruction, the codec LSI 76 causes the infrared communication module 82 to output an infrared signal corresponding to the control command. Here, the television 2 includes an infrared light receiving unit capable of receiving an infrared signal. When the infrared signal output from the infrared communication module 82 is received by the infrared light receiving unit, the television 2 performs an operation according to the infrared signal. The instruction from the game apparatus 3 may indicate an infrared signal pattern, or when the terminal device 7 stores an infrared signal pattern, the instruction indicates the pattern. Also good.
以上のように、端末装置7は、タッチパネル52、アナログスティック53、および操作ボタン54といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。 As described above, the terminal device 7 includes operation means such as the touch panel 52, the analog stick 53, and the operation button 54. However, in other embodiments, instead of these operation means or together with these operation means. The configuration may include other operation means.
また、端末装置7は、端末装置7の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ72、加速度センサ73、およびジャイロセンサ74を備えるが、他の実施形態においては、これらのセンサのうち1つまたは2つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。 In addition, the terminal device 7 includes a magnetic sensor 72, an acceleration sensor 73, and a gyro sensor 74 as sensors for calculating the movement of the terminal device 7 (including changes in position and posture, or position and posture). In other embodiments, the configuration may include only one or two of these sensors. Moreover, in other embodiment, it may replace with these sensors or the structure provided with another sensor with these sensors may be sufficient.
また、端末装置7は、カメラ56およびマイク79を備える構成であるが、他の実施形態においては、カメラ56およびマイク79を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。 The terminal device 7 includes the camera 56 and the microphone 79. However, in other embodiments, the terminal device 7 may not include the camera 56 and the microphone 79, or may include only one of them. Good.
また、端末装置7は、端末装置7とコントローラ5との位置関係(コントローラ5から見た端末装置7の位置および/または姿勢等)を算出するための構成としてマーカ部55を備える構成であるが、他の実施形態ではマーカ部55を備えていない構成としてもよい。また、他の実施形態では、端末装置7は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、コントローラ5がマーカ部を備え、端末装置7が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置6は赤外LEDに代えて、撮像素子を備える構成としてもよい。 Further, the terminal device 7 is configured to include the marker unit 55 as a configuration for calculating the positional relationship between the terminal device 7 and the controller 5 (the position and / or orientation of the terminal device 7 viewed from the controller 5). In other embodiments, the marker unit 55 may not be provided. In another embodiment, the terminal device 7 may include other means as a configuration for calculating the positional relationship. For example, in another embodiment, the controller 5 may include a marker unit, and the terminal device 7 may include an image sensor. Furthermore, in this case, the marker device 6 may be configured to include an imaging element instead of the infrared LED.
[5.3次元空間における位置算出方法]
次に、本実施形態において行われる、3次元の仮想空間における位置の算出方法について説明する。本実施形態においては、ゲームシステム1は、操作装置である端末装置7に対する操作に基づいて3次元の仮想空間内の位置を算出する。なお、ゲームシステム1はコントローラ5を含まない構成であってもよい。ゲームシステム1は、端末装置7の姿勢と、端末装置7に設けられた所定の入力面(タッチパネル52)に対する入力位置とに基づいて仮想空間内の位置を算出する。これによれば、ユーザ(プレイヤ)は、端末装置7の姿勢を変化させる操作と、端末装置7の入力面に対する入力操作とによって、3次元空間における位置を容易に指定することができる。以下、位置算出方法の概要を説明する。
[5. Position Calculation Method in 3D Space]
Next, a method for calculating a position in a three-dimensional virtual space performed in the present embodiment will be described. In the present embodiment, the game system 1 calculates a position in a three-dimensional virtual space based on an operation on the terminal device 7 that is an operation device. Note that the game system 1 may not include the controller 5. The game system 1 calculates a position in the virtual space based on the attitude of the terminal device 7 and the input position with respect to a predetermined input surface (touch panel 52) provided in the terminal device 7. According to this, the user (player) can easily specify the position in the three-dimensional space by the operation of changing the attitude of the terminal device 7 and the input operation on the input surface of the terminal device 7. The outline of the position calculation method will be described below.
図12は、本実施形態における位置算出方法の説明図である。また、図13は、図12に示す状態から端末装置7の姿勢を変化させた様子を示す図である。図12および図13に示すように、本実施形態においては、操作装置として、可搬型の端末装置7が用いられる。詳細は後述するが、ゲームシステム1は端末装置7の姿勢を算出(推測)することが可能である。また、端末装置7は、所定の入力面に対して位置を入力可能な入力装置としてタッチパネル52を備える。したがって、端末装置7に対してユーザは、姿勢を変化させる操作と、端末装置7の入力面に対する入力操作とを行うことが可能である。 FIG. 12 is an explanatory diagram of a position calculation method in the present embodiment. FIG. 13 is a diagram illustrating a state in which the attitude of the terminal device 7 is changed from the state illustrated in FIG. As shown in FIGS. 12 and 13, in the present embodiment, a portable terminal device 7 is used as the operation device. Although details will be described later, the game system 1 can calculate (estimate) the attitude of the terminal device 7. The terminal device 7 includes a touch panel 52 as an input device that can input a position with respect to a predetermined input surface. Therefore, the user can perform an operation for changing the posture and an input operation on the input surface of the terminal device 7 with respect to the terminal device 7.
図12および図13において、仮想空間には、面Sが配置される。この面S(面Sの位置および/または姿勢)は、図12および図13に示すように、端末装置7の姿勢に応じて決められる。つまり、端末装置7の姿勢を変化させる操作によって、面Sの位置および/または姿勢が変化する。端末装置7の姿勢に基づく面Sの決定方法はどのような方法であってもよいが、本実施形態においては、端末装置7の姿勢に応じて(少なくとも)面Sの姿勢が変化するように面Sが設定される。 12 and 13, the surface S is arranged in the virtual space. The surface S (the position and / or orientation of the surface S) is determined according to the orientation of the terminal device 7 as shown in FIGS. 12 and 13. That is, the position and / or posture of the surface S is changed by an operation for changing the posture of the terminal device 7. The method for determining the surface S based on the attitude of the terminal device 7 may be any method, but in this embodiment, the attitude of the surface S changes (at least) according to the attitude of the terminal device 7. Surface S is set.
また、図12および図13に示すように、タッチパネル52の入力面に対する入力(タッチ入力)が行われた場合、入力位置Pに基づいて上記面S上の位置Qが算出される。以下では、この位置Qを「指定位置」と呼ぶ。入力位置Pに基づく指定位置Qの算出方法はどのような方法であってもよいが、例えば、入力面と面Sとを対応させ、入力位置Pに対応する面S上の位置が指定位置Qとして算出されてもよい。 As shown in FIGS. 12 and 13, when an input (touch input) is performed on the input surface of the touch panel 52, the position Q on the surface S is calculated based on the input position P. Hereinafter, this position Q is referred to as a “designated position”. Any method may be used to calculate the designated position Q based on the input position P. For example, the input surface and the surface S are associated with each other, and the position on the surface S corresponding to the input position P is the designated position Q. May be calculated as
以上のように、ゲームシステム1は、仮想空間内の位置として、仮想空間内において端末装置7の姿勢に応じて決められる面S上の位置を入力位置に基づいて算出する。ここで、図12に示す状態においては、ユーザは、タッチ入力によって3次元仮想空間における面S上の領域を指定することができる。一方、図13に示す状態においては、面Sの姿勢が図12とは異なるので、ユーザは、タッチ入力によって、図12に示す面Sの領域とは異なる領域を指定することができる。このように、本実施形態においては、ユーザは、端末装置7の姿勢を変化させる操作によって面Sの姿勢を変化させるとともに、タッチ入力によって面S上の位置を指定することによって、3次元空間における位置を指定することができる。さらに、本実施形態においては、端末装置7の姿勢によって面Sの姿勢が変化し、入力面上における入力位置によって面S上の位置が変化する。これによって、ユーザは、直感的な操作によって面Sの姿勢および入力位置を指定することができ、3次元空間を容易に指定することができる。 As described above, the game system 1 calculates the position on the surface S determined according to the attitude of the terminal device 7 in the virtual space as the position in the virtual space based on the input position. Here, in the state shown in FIG. 12, the user can designate a region on the surface S in the three-dimensional virtual space by touch input. On the other hand, in the state shown in FIG. 13, since the posture of the surface S is different from that in FIG. 12, the user can specify a region different from the region of the surface S shown in FIG. As described above, in the present embodiment, the user changes the posture of the surface S by an operation for changing the posture of the terminal device 7 and designates the position on the surface S by touch input. You can specify the position. Further, in the present embodiment, the posture of the surface S changes depending on the posture of the terminal device 7, and the position on the surface S changes depending on the input position on the input surface. As a result, the user can specify the posture and the input position of the surface S by an intuitive operation, and can easily specify the three-dimensional space.
さらに、詳細は後述するが、本実施形態においては、端末装置7の表示部(LCD51)には、タッチパネル52に対する入力位置と、当該入力位置に基づいて算出される面S上の指定位置Qとが画面上において一致するように、指定位置が算出される(後述するステップS16,S25およびS26,S64,ならびにS86)。つまり、ユーザは、表示部の画面上の位置を指定(タッチ)することで、その位置に対応する仮想空間内の位置を指定することができる。これによって、ユーザは、より直感的で分かりやすい操作によって3次元空間における位置を指定することができる。 Further, although details will be described later, in the present embodiment, the display unit (LCD 51) of the terminal device 7 has an input position with respect to the touch panel 52 and a specified position Q on the surface S calculated based on the input position. Are designated so that they match on the screen (steps S16, S25 and S26, S64, and S86 described later). That is, the user can designate the position in the virtual space corresponding to the position by designating (touching) the position of the display unit on the screen. Thus, the user can specify a position in the three-dimensional space by a more intuitive and easy-to-understand operation.
なお、本実施形態においては、ゲームシステム1(ゲーム装置3)は、上記のように算出される指定位置を入力として所定の処理(ゲーム処理)を実行する。この所定の処理はどのような処理であってもよく、例えば、指定位置はゲーム入力としてどのように用いられてもよい。以下、指定位置を用いたゲーム処理の例として、第1〜第4のゲーム例について説明する。 In the present embodiment, the game system 1 (game device 3) executes a predetermined process (game process) with the specified position calculated as described above as an input. This predetermined process may be any process. For example, the specified position may be used as a game input. Hereinafter, first to fourth game examples will be described as examples of the game process using the designated position.
[6.第1のゲーム例]
以下、図14〜図19を参照して、本実施形態のゲームシステム1において実行される第1のゲーム例について説明する。第1のゲーム例では、プレイヤ(ユーザ)は、3次元の仮想空間(ゲーム空間)に配置された鍵盤に対する入力を端末装置7によって行う。すなわち、プレイヤが端末装置7を用いて仮想空間における鍵盤の位置を指定すると、指定された鍵盤に応じた音が出力される。なお、本ゲーム例においては、端末装置7が操作装置として用いられる。そのため、コントローラ5は用いられなくてもよく、ゲームシステム1はコントローラ5を含まない構成であってもよい。
[6. First game example]
Hereinafter, a first game example executed in the game system 1 of the present embodiment will be described with reference to FIGS. In the first game example, a player (user) performs input to a keyboard arranged in a three-dimensional virtual space (game space) by the terminal device 7. That is, when the player designates the position of the keyboard in the virtual space using the terminal device 7, a sound corresponding to the designated keyboard is output. In this game example, the terminal device 7 is used as an operation device. Therefore, the controller 5 may not be used, and the game system 1 may be configured not to include the controller 5.
図14は、第1のゲーム例においてゲーム操作が行われる場合におけるテレビ2および端末装置7を示す図である。図14に示すように、テレビ2には、鍵盤オブジェクト91および端末オブジェクト92を含む仮想空間の画像が表示される。また、端末装置7(LCD51)には、鍵盤オブジェクト91の一部が表示される。本ゲーム例においては、鍵盤オブジェクト91の各鍵盤は円弧状に配置される。また、テレビ2には円弧状の鍵盤オブジェクト91を、円弧の内側(円弧の中心が位置する側)から見た画像が表示される。これによって、ユーザは、円弧状の鍵盤オブジェクト91の中心に立っている感覚で操作を行うことができる。また、鍵盤毎に異なる音程の音が対応付けられており、鍵盤が指定された場合、指定された鍵盤に対応する音が出力される。 FIG. 14 is a diagram illustrating the television 2 and the terminal device 7 when a game operation is performed in the first game example. As shown in FIG. 14, the television 2 displays an image of the virtual space including the keyboard object 91 and the terminal object 92. A part of the keyboard object 91 is displayed on the terminal device 7 (LCD 51). In this game example, each keyboard of the keyboard object 91 is arranged in an arc shape. Further, the television 2 displays an image of the arc-shaped keyboard object 91 viewed from the inside of the arc (the side where the center of the arc is located). Thus, the user can perform an operation as if standing at the center of the arcuate keyboard object 91. In addition, sounds with different pitches are associated with each keyboard, and when a keyboard is designated, a sound corresponding to the designated keyboard is output.
また、端末オブジェクト92は、端末装置7の姿勢に応じて制御される。本ゲーム例においては、端末オブジェクト92は、端末装置7(端末オブジェクト92)の画面と垂直な軸(図8に示すy軸)回りの回転に関して、端末装置7の姿勢と端末オブジェクト92の姿勢とが一致するように制御される。また、端末オブジェクト92は、端末装置7の姿勢に応じて、円弧状に配置される鍵盤オブジェクト91の上方を回転しながら移動するように制御される(図14に示す矢印参照)。したがって、プレイヤは、端末装置7を左右に傾ける操作(図14に示す矢印参照)によって、端末オブジェクト92を左右に回転しながら移動させることができる。なお、本ゲーム例では、テレビ2に表示される端末オブジェクト92の画面93にも端末用画像と同様の画像が描画される(図14参照)が、画面93には何も表示されなくてもよい。 Further, the terminal object 92 is controlled according to the attitude of the terminal device 7. In the present game example, the terminal object 92 relates to the orientation of the terminal device 7 and the orientation of the terminal object 92 with respect to rotation about an axis (y-axis shown in FIG. 8) perpendicular to the screen of the terminal device 7 (terminal object 92). Are controlled to match. Further, the terminal object 92 is controlled to move while rotating above the keyboard object 91 arranged in an arc shape according to the attitude of the terminal device 7 (see the arrow shown in FIG. 14). Therefore, the player can move the terminal object 92 while rotating left and right by an operation of tilting the terminal device 7 left and right (see arrows shown in FIG. 14). In the present game example, an image similar to the terminal image is drawn on the screen 93 of the terminal object 92 displayed on the television 2 (see FIG. 14), but nothing may be displayed on the screen 93. Good.
なお、上記のように本ゲーム例においては、鍵盤オブジェクト91の各鍵盤を円弧状に配置し、端末装置7の回転に応じて端末オブジェクト92を円弧状の軌跡で移動させる。これによって、端末装置7の動きと端末オブジェクト92の動きとを対応させることができる。また、各鍵盤の円弧状の配置と端末オブジェクト92の円弧状の移動軌跡とから、プレイヤは、特別な説明が無くても端末装置7の操作方法を把握(推測)することができる。そのため、本ゲーム例においては、端末装置7の操作をプレイヤにとってより直感的で分かりやすいものにすることができる。 As described above, in the present game example, the keys of the keyboard object 91 are arranged in an arc shape, and the terminal object 92 is moved along an arc-shaped locus in accordance with the rotation of the terminal device 7. Thereby, the movement of the terminal device 7 and the movement of the terminal object 92 can be made to correspond to each other. Further, from the arcuate arrangement of each keyboard and the arcuate movement trajectory of the terminal object 92, the player can grasp (guess) the operation method of the terminal device 7 without any special explanation. Therefore, in this game example, the operation of the terminal device 7 can be made more intuitive and easy for the player to understand.
図15は、仮想空間において鍵盤オブジェクト91を上方から見た図である。図15に示すように、本ゲーム例においては、面94は、鍵盤オブジェクト91の面上に設定される。なお、図15においては面94を点線で示しているが、本ゲーム例においては、面94は実際には表示装置(テレビ2および端末装置7)には表示されない。つまり、面94は必ずしも表示される必要はなく、仮想空間にオブジェクトとして配置されなくてもよいし、透明なオブジェクトとして扱われてもよい。 FIG. 15 is a view of the keyboard object 91 as viewed from above in the virtual space. As shown in FIG. 15, in the present game example, the face 94 is set on the face of the keyboard object 91. In FIG. 15, the surface 94 is indicated by a dotted line, but in the present game example, the surface 94 is not actually displayed on the display device (the television 2 and the terminal device 7). That is, the surface 94 is not necessarily displayed, and may not be arranged as an object in the virtual space, or may be handled as a transparent object.
面94は、端末オブジェクト92の位置および向きに基づいて設定される。すなわち、面94の位置は、端末オブジェクト92の下方(真下)の位置に設定され、面94の姿勢は、面94に垂直な軸回りの回転方向の姿勢に関して、端末オブジェクト92の姿勢と一致する姿勢に設定される。したがって、端末オブジェクト92が鍵盤オブジェクト91の上方を円弧状の軌跡で移動することに応じて、面94は鍵盤オブジェクト91の一部を含むように鍵盤オブジェクト91上を回転しながら移動する(図15に示す矢印参照)。 The surface 94 is set based on the position and orientation of the terminal object 92. That is, the position of the surface 94 is set to a position below (directly below) the terminal object 92, and the posture of the surface 94 coincides with the posture of the terminal object 92 with respect to the posture in the rotational direction around the axis perpendicular to the surface 94. Set to posture. Accordingly, in response to the terminal object 92 moving above the keyboard object 91 along an arcuate path, the surface 94 moves while rotating on the keyboard object 91 so as to include a part of the keyboard object 91 (FIG. 15). See the arrow).
以上より、本ゲーム例では、端末装置7の姿勢に応じて端末オブジェクト92の位置および姿勢が決定され、端末オブジェクト92の位置および姿勢に応じて面94の位置および姿勢が決定される。つまり、端末装置7の姿勢に応じて面94の位置および姿勢が決定される。したがって、端末装置7を左右に傾ける操作によって、面94が鍵盤オブジェクト91上を左右に回転しながら移動する(図15に示す矢印参照)ことになる。 As described above, in the present game example, the position and posture of the terminal object 92 are determined according to the posture of the terminal device 7, and the position and posture of the surface 94 are determined according to the position and posture of the terminal object 92. That is, the position and orientation of the surface 94 are determined according to the orientation of the terminal device 7. Therefore, by the operation of tilting the terminal device 7 left and right, the surface 94 moves while rotating left and right on the keyboard object 91 (see the arrow shown in FIG. 15).
図16は、端末装置7に表示される画像の一例を示す図である。図16に示すように、端末装置7には、鍵盤オブジェクト91の一部を表す画像が表示される。具体的には、鍵盤オブジェクト91のうちの、面94内の領域が端末装置7に表示される。したがって、鍵盤オブジェクト91のうちで端末装置7に表示される領域は、端末装置7の姿勢に応じて変化することとなる。具体的には、端末装置7を左右に傾ける操作によって、鍵盤オブジェクト91の表示領域が左右に円弧状にスクロールする。なお、本ゲーム例においては、テレビ2には円弧状の鍵盤オブジェクト91が表示され、端末装置7を円弧状の軌跡で移動させる操作によって、端末装置7に表示される鍵盤オブジェクト91の一部が円弧状にスクロールする。したがって、ユーザは円弧状の鍵盤オブジェクト91があたかも存在するかのような感覚で、端末装置7を用いて鍵盤オブジェクト91に対する位置指定操作を行うことができる。 FIG. 16 is a diagram illustrating an example of an image displayed on the terminal device 7. As shown in FIG. 16, an image representing a part of the keyboard object 91 is displayed on the terminal device 7. Specifically, an area within the surface 94 of the keyboard object 91 is displayed on the terminal device 7. Therefore, the area displayed on the terminal device 7 in the keyboard object 91 changes according to the attitude of the terminal device 7. Specifically, the display area of the keyboard object 91 scrolls left and right in an arc shape by an operation of tilting the terminal device 7 left and right. In this game example, an arc-shaped keyboard object 91 is displayed on the television 2, and a part of the keyboard object 91 displayed on the terminal device 7 is displayed by an operation of moving the terminal device 7 along an arc-shaped locus. Scroll in an arc. Therefore, the user can perform a position designation operation on the keyboard object 91 using the terminal device 7 as if the arc-shaped keyboard object 91 exists.
なお、本ゲーム例では、ユーザが白鍵と黒鍵の並びから各鍵盤に対応する音を識別できるように、端末装置7に一度に表示される鍵盤は1オクターブ分の鍵盤となっている。なお、端末装置7は比較的大型の画面を有しているので、1オクターブ分の鍵盤が表示される場合でも、各鍵盤はユーザが指で押しやすい幅で表示される。 In this game example, the keyboard displayed on the terminal device 7 at a time is a keyboard for one octave so that the user can identify the sound corresponding to each keyboard from the arrangement of the white key and the black key. Since the terminal device 7 has a relatively large screen, each keyboard is displayed with a width that is easy for the user to press with a finger even when a keyboard for one octave is displayed.
ここで、プレイヤは、端末装置7に表示される鍵盤オブジェクト91に対してタッチ入力を行うことで、音を出力することができる。すなわち、ゲーム装置3は、端末装置7のタッチパネル52に対してタッチ入力が行われた場合、入力位置に対応する(LCD51の画面上において入力位置に表示されている)指定位置にある鍵盤を特定し、特定された鍵盤に対応する音を出力する。なお、音を出力するスピーカは、テレビ2のスピーカ2aでもよいし、端末装置7のスピーカ77でもよいし、両方のスピーカ2aおよび77でもよい。 Here, the player can output a sound by performing a touch input on the keyboard object 91 displayed on the terminal device 7. That is, when a touch input is made on the touch panel 52 of the terminal device 7, the game apparatus 3 specifies a keyboard at a designated position corresponding to the input position (displayed at the input position on the LCD 51 screen). The sound corresponding to the specified keyboard is output. The speaker that outputs sound may be the speaker 2a of the television 2, the speaker 77 of the terminal device 7, or both the speakers 2a and 77.
以上のように、本ゲーム例においては、端末装置7の姿勢が変化することに応じて端末オブジェクト92および面94が移動し、端末装置7に表示される鍵盤オブジェクト91の領域が変化する。その結果、プレイヤが端末装置7を用いて指定可能な鍵盤が変化する。したがって、プレイヤは、端末装置7の姿勢を変化させる操作と、タッチ入力の操作とによって、3次元の仮想空間内における鍵盤オブジェクト91の位置を容易に指定することができる。また、本ゲーム例においては、鍵盤オブジェクト91の全体を端末装置7に表示せずに、鍵盤オブジェクト91の全体をプレイヤが指定することができる。したがって、端末装置7において鍵盤オブジェクト91を大きく表示することができるので、タッチ入力が行いやすく操作が容易になる。 As described above, in this game example, the terminal object 92 and the surface 94 move in accordance with the change in the attitude of the terminal device 7, and the area of the keyboard object 91 displayed on the terminal device 7 changes. As a result, the keyboard that can be designated by the player using the terminal device 7 changes. Therefore, the player can easily specify the position of the keyboard object 91 in the three-dimensional virtual space by the operation of changing the posture of the terminal device 7 and the operation of touch input. In the present game example, the player can specify the entire keyboard object 91 without displaying the entire keyboard object 91 on the terminal device 7. Therefore, since the keyboard object 91 can be displayed large on the terminal device 7, it is easy to perform touch input and operation becomes easy.
(第1のゲーム例におけるゲーム処理)
次に、第1のゲーム例においてゲームシステム1で実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図17は、ゲーム処理において用いられる各種データを示す図である。図17において、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図17に示すように、ゲーム装置3のメインメモリには、ゲームプログラム100、端末操作データ101、および処理用データ108が記憶される。なお、メインメモリには、図17に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。
(Game processing in the first game example)
Next, details of the game process executed by the game system 1 in the first game example will be described. First, various data used in the game process will be described. FIG. 17 is a diagram showing various data used in the game process. In FIG. 17, it is a figure which shows the main data memorize | stored in the main memory (the external main memory 12 or the internal main memory 11e) of the game device 3. As shown in FIG. 17, a game program 100, terminal operation data 101, and processing data 108 are stored in the main memory of the game apparatus 3. In addition to the data shown in FIG. 17, the main memory stores data necessary for the game such as image data of various objects appearing in the game and sound data used in the game.
ゲームプログラム100は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム100は、光ディスク4に代えて、フラッシュメモリ17やゲーム装置3の外部装置から(例えばインターネットを介して)取得されてもよい。また、ゲームプログラム100に含まれる一部(例えば、コントローラ5および/または端末装置7の姿勢を算出するためのプログラム)については、ゲーム装置3内に予め記憶されていてもよい。 A part or all of the game program 100 is read from the optical disk 4 and stored in the main memory at an appropriate timing after the game apparatus 3 is turned on. The game program 100 may be obtained from the flash memory 17 or an external device of the game device 3 (for example, via the Internet) instead of the optical disc 4. A part (for example, a program for calculating the attitude of the controller 5 and / or the terminal device 7) included in the game program 100 may be stored in advance in the game apparatus 3.
端末操作データ101は、端末装置7に対するプレイヤの操作を表すデータである。端末操作データ101は、端末装置7から送信されてゲーム装置3において取得され、メインメモリに記憶される。端末操作データ101は、操作ボタンデータ102、スティックデータ103、入力位置データ104、角速度データ105、加速度データ106、および方位データ107を含む。端末操作データ101は、図17に示す各データの他、カメラ56によって撮像された画像のデータや、マイク79によって検出された音声データを含んでいてもよい。なお、メインメモリには、最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。 The terminal operation data 101 is data representing a player's operation on the terminal device 7. The terminal operation data 101 is transmitted from the terminal device 7, acquired by the game device 3, and stored in the main memory. The terminal operation data 101 includes operation button data 102, stick data 103, input position data 104, angular velocity data 105, acceleration data 106, and azimuth data 107. The terminal operation data 101 may include data of an image captured by the camera 56 and audio data detected by the microphone 79 in addition to the data shown in FIG. The main memory may store a predetermined number of terminal operation data in order from the latest (last acquired).
操作ボタンデータ102は、端末装置7に設けられる各操作ボタン54A〜54Lに対する入力状態を表すデータである。具体的には、操作ボタンデータ102は、各操作ボタン54A〜54Lが押下されているか否かを表す。 The operation button data 102 is data representing an input state for each of the operation buttons 54 </ b> A to 54 </ b> L provided on the terminal device 7. Specifically, the operation button data 102 represents whether or not each of the operation buttons 54A to 54L is pressed.
スティックデータ103は、アナログスティック53(アナログスティック53Aおよび53B)のスティック部がスライドした(または傾倒した)方向および量を表すデータである。上記方向および量は、例えば2次元座標や2次元ベクトルとして表されてもよい。 The stick data 103 is data representing the direction and amount in which the stick portion of the analog stick 53 (analog sticks 53A and 53B) has slid (or tilted). The direction and amount may be expressed as, for example, a two-dimensional coordinate or a two-dimensional vector.
入力位置データ104は、タッチパネル52の入力面において入力が行われた位置(入力位置)を表すデータである。本実施形態では、入力位置データ104は、上記入力面上の位置を表すための2次元座標系の座標値を表す。なお、タッチパネル52がマルチタッチ方式である場合には、入力位置データ104は複数の入力位置を表すこともある。 The input position data 104 is data representing a position (input position) where an input is performed on the input surface of the touch panel 52. In the present embodiment, the input position data 104 represents a coordinate value of a two-dimensional coordinate system for representing a position on the input surface. When the touch panel 52 is a multi-touch method, the input position data 104 may represent a plurality of input positions.
角速度データ105は、ジャイロセンサ74によって検出された角速度を表すデータである。本実施形態では、角速度データ105は、図8に示すxyzの3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回り角速度を表すものであればよい。 The angular velocity data 105 is data representing the angular velocity detected by the gyro sensor 74. In the present embodiment, the angular velocity data 105 represents the angular velocities around the three axes xyz shown in FIG. 8, but in other embodiments, the angular velocity data 105 represents the angular velocities around any one or more axes. I just need it.
加速度データ106は、加速度センサ73によって検出された加速度(加速度ベクトル)を表すデータである。本実施形態では、加速度データ106は、図8に示すxyzの3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであればよい。 The acceleration data 106 is data representing the acceleration (acceleration vector) detected by the acceleration sensor 73. In the present embodiment, the acceleration data 106 represents a three-dimensional acceleration whose components are accelerations in the directions of the three axes of xyz shown in FIG. 8, but in other embodiments, any one or more of the acceleration data 106 is represented. It only has to represent acceleration in the direction.
方位データ107は、磁気センサ72によって検出された方位を表すデータである。本実施形態では、方位データ107は、端末装置7を基準として所定の方位(例えば北)の向きを表す。なお、地磁気以外の磁界が発生している場合においては、方位データ107は厳密には絶対的な方位(北等)を示さないことになる。ただし、その場所における磁界の方向に対する端末装置7の相対的な方向が方位データ107によって示されるので、そのような場合であっても方位データ107に基づいて端末装置7の姿勢または姿勢の変化を算出することが可能である。 The azimuth data 107 is data representing the azimuth detected by the magnetic sensor 72. In the present embodiment, the azimuth data 107 represents the direction of a predetermined azimuth (for example, north) with reference to the terminal device 7. When a magnetic field other than geomagnetism is generated, the azimuth data 107 does not strictly indicate an absolute azimuth (north, etc.). However, since the relative direction of the terminal device 7 with respect to the direction of the magnetic field at the location is indicated by the orientation data 107, even in such a case, the orientation of the terminal device 7 or a change in the orientation is changed based on the orientation data 107. It is possible to calculate.
なお、端末操作データ101は、端末装置7に対する操作を表すものであればよく、上記各データ92〜97のいずれか1つのみを含むものであってもよい。また、端末装置7が他の入力手段(例えば、タッチパッドや、コントローラ5の撮像手段等)を有する場合には、端末操作データ101は、当該他の入力手段に対する操作を表すデータを含んでいてもよい。なお、本実施形態のように端末装置7自体の動きをゲーム操作として用いる場合には、端末操作データ101は、加速度データ106、角速度データ105、または方位データ107のように、端末装置7自体の動きに応じて値が変化するデータを含むことが好ましい。 Note that the terminal operation data 101 only needs to represent an operation on the terminal device 7, and may include only one of the data 92 to 97. Further, when the terminal device 7 has other input means (for example, a touch pad or an imaging means of the controller 5), the terminal operation data 101 includes data representing an operation on the other input means. Also good. When the movement of the terminal device 7 itself is used as a game operation as in the present embodiment, the terminal operation data 101 is the terminal device 7 itself, such as acceleration data 106, angular velocity data 105, or azimuth data 107. It is preferable to include data whose value changes according to movement.
また、本実施形態においては、端末操作データ101の他、カメラ画像データおよび/またはマイク音データが端末装置7からゲーム装置3へ送信されてもよい。カメラ画像データは、端末装置7のカメラ56によって撮像された画像(カメラ画像)を表すデータである。マイク音データは、端末装置7のマイク79によって検出された音声(マイク音)を表すデータである。なお、これらカメラ画像データおよびマイク音データは、コーデックLSI76によって圧縮されてゲーム装置3へ送信され、ゲーム装置3においてコーデックLSI27によって伸張されてメインメモリに記憶されてもよい。 In the present embodiment, in addition to the terminal operation data 101, camera image data and / or microphone sound data may be transmitted from the terminal device 7 to the game device 3. The camera image data is data representing an image (camera image) captured by the camera 56 of the terminal device 7. The microphone sound data is data representing sound (microphone sound) detected by the microphone 79 of the terminal device 7. Note that the camera image data and the microphone sound data may be compressed by the codec LSI 76 and transmitted to the game apparatus 3, and may be expanded by the codec LSI 27 in the game apparatus 3 and stored in the main memory.
また、本実施形態ではコントローラ5が操作装置として用いられないので図示しないが、メインメモリには、コントローラ5に対するプレイヤの操作を表すコントローラ操作データが記憶されてもよい。 In the present embodiment, the controller 5 is not used as an operating device and is not shown, but the main memory may store controller operation data representing the player's operation on the controller 5.
処理用データ108は、後述するゲーム処理(図18)において用いられるデータである。処理用データ108は、端末姿勢データ109、端末オブジェクトデータ110、面データ111、端末カメラデータ112、および、指定位置データ113を含む。なお、図17に示すデータの他、処理用データ108は、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。 The processing data 108 is data used in a game process (FIG. 18) described later. The processing data 108 includes terminal attitude data 109, terminal object data 110, surface data 111, terminal camera data 112, and designated position data 113. In addition to the data shown in FIG. 17, the processing data 108 includes various data used in the game process, such as data representing various parameters set for various objects appearing in the game.
端末姿勢データ109は、端末装置7の姿勢を表すデータである。端末装置7の姿勢は、例えば、所定の基準姿勢から現在の端末装置7の姿勢への回転を表す回転行列によって表現されてもよいし、3次のベクトルまたは3つの角度によって表現されてもよい。また、本実施形態においては、端末装置7の姿勢として3次元空間における姿勢が用いられるが、他の実施形態においては、2次元平面における姿勢が用いられてもよい。本実施形態では、端末姿勢データ109は、上記端末操作データ101に含まれる角速度データ105および加速度データ106に基づいて算出される。端末姿勢データ109の算出方法についてはステップS11で後述する。 The terminal attitude data 109 is data representing the attitude of the terminal device 7. The attitude of the terminal device 7 may be expressed by, for example, a rotation matrix representing rotation from a predetermined reference attitude to the current attitude of the terminal device 7, or may be expressed by a cubic vector or three angles. . In this embodiment, a posture in a three-dimensional space is used as the posture of the terminal device 7, but in another embodiment, a posture in a two-dimensional plane may be used. In the present embodiment, the terminal attitude data 109 is calculated based on the angular velocity data 105 and the acceleration data 106 included in the terminal operation data 101. A method for calculating the terminal attitude data 109 will be described later in step S11.
端末オブジェクトデータ110は、仮想空間に配置される端末オブジェクト92の位置および姿勢を表すデータである。端末オブジェクト92の位置は、仮想空間内の位置を表すための座標系(仮想空間座標系)における位置を示す3次元の座標値によって表される。また、本ゲーム例においては、端末オブジェクト92は、端末オブジェクト92の画面93に垂直な軸回りの回転方向のみ姿勢を変化させ、他の回転方向には姿勢を変化させない。そのため、端末オブジェクト92の姿勢は、1つのベクトル(例えば、端末オブジェクト92の画面に平行で、端末オブジェクト92を基準とした所定方向を向くベクトル)によって表現される。また、端末オブジェクト92の姿勢は、上記座標系における回転行列またはベクトルによって表現されてもよい。 The terminal object data 110 is data representing the position and orientation of the terminal object 92 arranged in the virtual space. The position of the terminal object 92 is represented by a three-dimensional coordinate value indicating a position in a coordinate system (virtual space coordinate system) for representing a position in the virtual space. In this game example, the terminal object 92 changes the posture only in the rotation direction around the axis perpendicular to the screen 93 of the terminal object 92, and does not change the posture in the other rotation directions. Therefore, the attitude of the terminal object 92 is expressed by one vector (for example, a vector parallel to the screen of the terminal object 92 and facing a predetermined direction with the terminal object 92 as a reference). Further, the attitude of the terminal object 92 may be expressed by a rotation matrix or a vector in the coordinate system.
面データ111は、仮想空間に設定される面94の位置および姿勢を表すデータである。面94の位置は、上記仮想空間座標系における位置を示す3次元の座標値によって表される。また、本ゲーム例においては、面94は、面94に垂直な軸回りの回転方向のみ姿勢を変化させ、他の回転方向には姿勢を変化させない。そのため、面94の姿勢は、上記端末オブジェクト92の姿勢と同様、1つのベクトル(例えば、端末オブジェクト92の画面に平行で、端末オブジェクト92を基準とした所定方向を向くベクトル)によって表現されてもよい。また、面94の姿勢は、上記座標系における回転行列またはベクトルによって表現されてもよい。 The surface data 111 is data representing the position and orientation of the surface 94 set in the virtual space. The position of the surface 94 is represented by a three-dimensional coordinate value indicating the position in the virtual space coordinate system. In this game example, the posture of the surface 94 is changed only in the rotation direction around the axis perpendicular to the surface 94, and the posture is not changed in the other rotation directions. Therefore, the orientation of the surface 94 can be expressed by one vector (for example, a vector parallel to the screen of the terminal object 92 and pointing in a predetermined direction with the terminal object 92 as a reference), like the orientation of the terminal object 92. Good. Further, the posture of the surface 94 may be expressed by a rotation matrix or a vector in the coordinate system.
端末カメラデータ112は、端末用画像を生成するために用いられる仮想カメラ(端末用仮想カメラ)の位置および姿勢を表すデータである。本実施形態においては、端末用仮想カメラの位置および姿勢は、面データ111に基づいて算出される。 The terminal camera data 112 is data representing the position and orientation of a virtual camera (terminal virtual camera) used to generate a terminal image. In the present embodiment, the position and orientation of the terminal virtual camera are calculated based on the plane data 111.
指定位置データ113は、上記指定位置を表すデータである。指定位置は、上記仮想空間座標系における位置を示す3次元の座標値によって表される。詳細は後述するが、指定位置は、上記入力位置データ104と面データ111とに基づいて算出される。 The designated position data 113 is data representing the designated position. The designated position is represented by a three-dimensional coordinate value indicating the position in the virtual space coordinate system. Although the details will be described later, the designated position is calculated based on the input position data 104 and the surface data 111.
次に、ゲーム装置3において実行されるゲーム処理の詳細を、図18および図19を用いて説明する。図18は、ゲーム装置3において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。図18に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、ゲーム装置3においては、電源投入後にゲームプログラムがすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後例えばプレイヤによるメニュー画面に対する選択操作によってゲームの開始が指示されたことに応じてゲームプログラムが実行される構成であってもよい。 Next, details of the game process executed in the game apparatus 3 will be described with reference to FIGS. 18 and 19. FIG. 18 is a main flowchart showing a flow of game processing executed in the game apparatus 3. When the power of the game apparatus 3 is turned on, the CPU 10 of the game apparatus 3 executes a startup program stored in a boot ROM (not shown), whereby each unit such as the main memory is initialized. Then, the game program stored in the optical disc 4 is read into the main memory, and the CPU 10 starts executing the game program. The flowchart shown in FIG. 18 is a flowchart showing a process performed after the above process is completed. Note that the game device 3 may be configured such that the game program is executed immediately after the power is turned on, or a built-in program that displays a predetermined menu screen is executed first after the power is turned on. The game program may be executed in response to an instruction to start the game by a selection operation.
なお、以下で説明するフローチャート(第1〜第4のゲーム例を含む)における各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU10が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU10以外のプロセッサや専用回路が実行するようにしてもよい。 Note that the processing of each step in the flowcharts (including the first to fourth game examples) described below is merely an example, and if the same result is obtained, the processing order of each step is changed. Also good. Moreover, the value of the variable and the threshold value used in the determination step are merely examples, and other values may be adopted as necessary. In the present embodiment, the processing of each step in the flowchart is described as being executed by the CPU 10. However, the processing of some steps in the flowchart may be executed by a processor or a dedicated circuit other than the CPU 10. Good.
まずステップS1において、CPU10は初期処理を実行する。初期処理は、仮想空間を構築し、仮想空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。なお、第1のゲーム例においては、端末オブジェクト92、面94、および端末用仮想カメラの3つのオブジェクトが所定の位置および所定の姿勢で仮想空間内に配置される。すなわち、上記3つのオブジェクトの初期位置および初期姿勢を表すデータが、それぞれ端末オブジェクトデータ110、面データ111、および端末カメラデータ112としてメインメモリに記憶される。また、テレビ用画像を生成するために用いられる仮想カメラ(テレビ用仮想カメラ)が所定の位置および姿勢で設定される。なお、テレビ用仮想カメラは、鍵盤オブジェクト91および端末オブジェクト92が視野範囲に含まれるような、予め定められた位置および姿勢に設定される。ステップS1の次にステップS2の処理が実行される。以降、ステップS2〜S8の一連の処理からなる処理ループが所定時間(1フレーム時間。例えば1/60秒)に1回の割合で繰り返し実行される。 First, in step S1, the CPU 10 executes an initial process. The initial process is a process of constructing a virtual space, placing each object appearing in the virtual space at an initial position, and setting initial values of various parameters used in the game process. In the first game example, the three objects of the terminal object 92, the surface 94, and the terminal virtual camera are arranged in the virtual space at a predetermined position and a predetermined posture. That is, data representing the initial positions and initial postures of the three objects are stored in the main memory as terminal object data 110, plane data 111, and terminal camera data 112, respectively. In addition, a virtual camera (television virtual camera) used to generate a television image is set at a predetermined position and posture. The television virtual camera is set to a predetermined position and orientation such that the keyboard object 91 and the terminal object 92 are included in the visual field range. Following step S1, the process of step S2 is executed. Thereafter, a processing loop consisting of a series of processes in steps S2 to S8 is repeatedly executed at a rate of once per predetermined time (one frame time, for example, 1/60 seconds).
ステップS2において、CPU10は、端末装置7から送信されてくる端末操作データを取得する。端末装置7は、端末操作データをゲーム装置3へ繰り返し送信するので、ゲーム装置3は端末操作データを逐次受信する。ゲーム装置3においては、端末通信モジュール28が端末操作データを逐次受信し、入出力プロセッサ11aが端末操作データをメインメモリに逐次記憶する。CPU10は、必要に応じて適宜のタイミングで端末操作データ101をメインメモリから読み出す。ステップS2の次にステップS3の処理が実行される。 In step S <b> 2, the CPU 10 acquires terminal operation data transmitted from the terminal device 7. Since the terminal device 7 repeatedly transmits the terminal operation data to the game device 3, the game device 3 sequentially receives the terminal operation data. In the game apparatus 3, the terminal communication module 28 sequentially receives the terminal operation data, and the input / output processor 11a sequentially stores the terminal operation data in the main memory. The CPU 10 reads the terminal operation data 101 from the main memory at an appropriate timing as necessary. Following step S2, the process of step S3 is executed.
ステップS3において、CPU10はゲーム制御処理を実行する。ゲーム制御処理は、プレイヤによる操作に従って、各種のオブジェクト動作を制御したり、各種のゲームパラメータを算出したりしてゲームを進行させる処理である。以下、図19を参照して、ゲーム制御処理の詳細について説明する。 In step S3, the CPU 10 executes a game control process. The game control process is a process of progressing the game by controlling various object movements or calculating various game parameters in accordance with an operation by the player. Hereinafter, the game control process will be described in detail with reference to FIG.
図19は、図18に示すゲーム制御処理(ステップS3)の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS11において、CPU10は端末装置7の姿勢を算出する。端末装置7の姿勢は、端末操作データが表す、姿勢を算出するための物理量に基づいて算出される。なお、本実施形態においては、姿勢を算出するための物理量として、角速度データ105が表す角速度と、加速度データ106が表す加速度が用いられる。以下、姿勢算出処理の詳細について説明する。 FIG. 19 is a flowchart showing a detailed flow of the game control process (step S3) shown in FIG. In the game control process, first, in step S <b> 11, the CPU 10 calculates the attitude of the terminal device 7. The attitude of the terminal device 7 is calculated based on a physical quantity for calculating the attitude represented by the terminal operation data. In the present embodiment, the angular velocity represented by the angular velocity data 105 and the acceleration represented by the acceleration data 106 are used as the physical quantities for calculating the posture. Details of the posture calculation process will be described below.
姿勢算出処理においては、まず、CPU10は、角速度データ105に基づいて端末装置7の姿勢を算出する。角速度に基づく姿勢を算出する方法はどのような方法であってもよいが、当該姿勢は、前回の姿勢(前回の処理ループにおけるステップS11で算出された姿勢)と、今回の角速度(今回の処理ループにおけるステップS2で取得された角速度)とを用いて算出される。具体的には、CPU10は、前回の姿勢を今回の角速度で単位時間分だけ回転させることによって姿勢を算出する。なお、前回の姿勢は、メインメモリに記憶されている端末姿勢データ109により表され、今回の角速度は、メインメモリに記憶されている角速度データ105により表される。したがって、CPU10は、端末姿勢データ109および角速度データ105をメインメモリから読み出して、端末装置7の姿勢を算出する。以上のようにして算出された姿勢を表すデータはメインメモリに記憶される。 In the attitude calculation process, first, the CPU 10 calculates the attitude of the terminal device 7 based on the angular velocity data 105. Any method may be used to calculate the posture based on the angular velocity, but the posture includes the previous posture (the posture calculated in step S11 in the previous processing loop) and the current angular velocity (current processing). And the angular velocity obtained in step S2 in the loop). Specifically, the CPU 10 calculates the posture by rotating the previous posture by a unit time at the current angular velocity. The previous posture is represented by the terminal posture data 109 stored in the main memory, and the current angular velocity is represented by the angular velocity data 105 stored in the main memory. Therefore, the CPU 10 reads the terminal attitude data 109 and the angular velocity data 105 from the main memory, and calculates the attitude of the terminal device 7. Data representing the posture calculated as described above is stored in the main memory.
なお、角速度から姿勢を算出する場合、初期姿勢を定めておくのがよい。つまり、端末装置7の姿勢を角速度から算出する場合には、CPU10は、最初に端末装置7の初期姿勢を設定しておく。端末装置7の初期姿勢は、加速度データ106に基づいて算出されてもよいし、端末装置7を特定の姿勢にした状態でプレイヤに所定の操作を行わせることで、所定の操作が行われた時点における特定の姿勢を初期姿勢として設定するようにしてもよい。なお、空間における所定方向を基準とした絶対的な姿勢として端末装置7の姿勢を算出する場合には上記初期姿勢を算出することが良いが、例えばゲーム開始時点における端末装置7の姿勢を基準とした相対的な姿勢として端末装置7の姿勢を算出する場合には、上記初期姿勢は算出されなくても良い。 When calculating the attitude from the angular velocity, it is preferable to determine the initial attitude. That is, when calculating the attitude of the terminal device 7 from the angular velocity, the CPU 10 first sets the initial attitude of the terminal device 7. The initial posture of the terminal device 7 may be calculated based on the acceleration data 106, or the predetermined operation is performed by causing the player to perform a predetermined operation with the terminal device 7 in a specific posture. A specific posture at the time may be set as the initial posture. In addition, when calculating the attitude of the terminal device 7 as an absolute attitude based on a predetermined direction in space, it is preferable to calculate the initial attitude, but for example, the attitude of the terminal device 7 at the start of the game When the attitude of the terminal device 7 is calculated as the relative attitude, the initial attitude need not be calculated.
角速度に基づいて姿勢を算出すると次に、CPU10は、算出された姿勢を、端末装置7の加速度に基づいて補正する。ここで、端末装置7がほぼ静止している状態では、端末装置7に対して加えられる加速度は重力加速度に相当する。つまり、この状態では、加速度データ106が表す加速度ベクトルは、端末装置7における重力方向を表す。したがって、CPU10は、角速度に基づいて算出された姿勢の下方向(重力方向)を、加速度ベクトルの表す重力方向へ近づける補正を行う。すなわち、上記下方向が加速度ベクトルの表す重力方向へ所定の割合で近づくように、上記姿勢を回転させる。これによって、角速度に基づく姿勢を、加速度に基づく重力方向を考慮した姿勢となるように補正することができる。なお、上記所定の割合は、予め定められた固定値であってもよいし、検出される加速度等に応じて設定されてもよい。例えば、CPU10は、検出される加速度の大きさが重力加速度の大きさに近い場合には、上記姿勢の下方向を加速度ベクトルの表す重力方向へ近づける割合を大きくし、検出される加速度の大きさが重力加速度の大きさから離れている場合には、当該割合を小さくするようにしてもよい。 After calculating the attitude based on the angular velocity, the CPU 10 corrects the calculated attitude based on the acceleration of the terminal device 7. Here, when the terminal device 7 is substantially stationary, the acceleration applied to the terminal device 7 corresponds to the gravitational acceleration. That is, in this state, the acceleration vector represented by the acceleration data 106 represents the direction of gravity in the terminal device 7. Therefore, the CPU 10 performs correction so that the downward direction (gravity direction) of the posture calculated based on the angular velocity approaches the gravitational direction represented by the acceleration vector. That is, the posture is rotated so that the downward direction approaches the gravitational direction represented by the acceleration vector at a predetermined rate. Accordingly, the posture based on the angular velocity can be corrected so as to be a posture considering the gravity direction based on the acceleration. The predetermined ratio may be a predetermined fixed value or may be set according to detected acceleration or the like. For example, if the detected acceleration magnitude is close to the gravitational acceleration magnitude, the CPU 10 increases the ratio of lowering the posture to the gravitational direction represented by the acceleration vector, and detects the detected acceleration magnitude. In the case where the distance from the gravitational acceleration is large, the ratio may be reduced.
具体的には、CPU10は、角速度に基づいて算出された姿勢を表すデータと、加速度データ106とをメインメモリから読み出し、上記の補正を行う。そして、補正が行われた後の姿勢を表すデータを端末姿勢データ109としてメインメモリに記憶する。以上のステップS11の次にステップS12の処理が実行される。 Specifically, the CPU 10 reads out data representing the posture calculated based on the angular velocity and the acceleration data 106 from the main memory, and performs the above correction. Then, data representing the posture after correction is performed is stored in the main memory as terminal posture data 109. Following step S11, the process of step S12 is executed.
また、本実施形態においては、CPU10は、慣性センサ(加速度センサ73およびジャイロセンサ74)の検出結果に基づいて端末装置7の姿勢を算出した。ここで、他の実施形態においては、端末装置7の姿勢の算出方法はどのような方法であってもよい(後述する他のゲーム例でも同様)。例えば、他の実施形態においては、端末装置7が他のセンサ部(例えば磁気センサ72やカメラ56)を有している場合には、当該他のセンサ部の検出結果を用いてコントローラ5の姿勢が算出されてもよい。すなわち、CPU10は、磁気センサ72によって検出される方位データ107から、端末装置7を基準とした所定の方位(すなわち、所定の方位を基準とした端末装置7の姿勢)を知ることができる。したがって、他の実施形態においては、CPU10は、角速度データ105および加速度データ106に加えて、上記方位データ107をさらに用いて端末装置7の姿勢を算出してもよい。方位データ107を用いて端末装置7の姿勢を算出する場合には、実空間における所定方向を基準とした絶対的な姿勢を算出することができるので、端末装置7の姿勢をより正確に算出することができる。なお、方位データ107に関して、地磁気以外の磁界が発生している場所においては、方位データは厳密には絶対的な方位(北等)を示さないことになるが、その場所における磁界の方向に対する端末装置7の相対的な方向が示されるので、そのような場合であっても端末装置7の姿勢を算出することが可能である。また、他の実施形態においては、上記3つのデータのうち1つまたは2つに基づいて姿勢を算出するようにしてもよい。また、例えば、ゲームシステム1が端末装置7を撮像するカメラを備えている場合には、ゲーム装置3は当該カメラで端末装置7を撮像した撮像結果を取得し、撮像結果を用いて端末装置7の姿勢を算出するようにしてもよい。 In the present embodiment, the CPU 10 calculates the attitude of the terminal device 7 based on the detection results of the inertial sensors (the acceleration sensor 73 and the gyro sensor 74). Here, in other embodiments, the calculation method of the attitude of the terminal device 7 may be any method (the same applies to other game examples described later). For example, in another embodiment, when the terminal device 7 includes another sensor unit (for example, the magnetic sensor 72 or the camera 56), the attitude of the controller 5 using the detection result of the other sensor unit. May be calculated. That is, the CPU 10 can know a predetermined orientation with respect to the terminal device 7 (that is, the attitude of the terminal device 7 with reference to the predetermined orientation) from the orientation data 107 detected by the magnetic sensor 72. Therefore, in another embodiment, the CPU 10 may further calculate the attitude of the terminal device 7 using the azimuth data 107 in addition to the angular velocity data 105 and the acceleration data 106. When the orientation of the terminal device 7 is calculated using the azimuth data 107, the absolute orientation based on a predetermined direction in the real space can be calculated, and thus the orientation of the terminal device 7 is calculated more accurately. be able to. Regarding the azimuth data 107, in a place where a magnetic field other than geomagnetism is generated, the azimuth data does not strictly indicate an absolute azimuth (north, etc.), but a terminal for the direction of the magnetic field at that place. Since the relative direction of the device 7 is indicated, the posture of the terminal device 7 can be calculated even in such a case. In another embodiment, the posture may be calculated based on one or two of the three data. For example, when the game system 1 includes a camera that images the terminal device 7, the game device 3 acquires an imaging result obtained by imaging the terminal device 7 with the camera, and uses the imaging result to obtain the terminal device 7. May be calculated.
ステップS12において、CPU10は、端末装置7の姿勢に基づいて端末オブジェクト92を仮想空間に配置する。端末オブジェクト92は、端末装置7の姿勢に基づいて制御されればどのように制御されてもよい。本ゲーム例においては、端末オブジェクト92は、端末装置7の姿勢に対応して位置および姿勢が制御される。 In step S <b> 12, the CPU 10 places the terminal object 92 in the virtual space based on the attitude of the terminal device 7. The terminal object 92 may be controlled in any way as long as it is controlled based on the attitude of the terminal device 7. In the present game example, the position and posture of the terminal object 92 are controlled corresponding to the posture of the terminal device 7.
本ゲーム例においては、端末オブジェクト92の姿勢は、画面に垂直な軸回りの回転方向に関する姿勢が端末装置7の姿勢に応じて変化し、他の回転方向に関する姿勢は変化しない(固定される)。つまり、端末オブジェクト92の姿勢は、上記の軸と垂直な姿勢から変化しない。画面に垂直な軸回りの回転方向に関して、端末装置7が所定の基準姿勢となる場合、端末オブジェクト92の姿勢は、テレビ2に表示される仮想空間の正面方向(奥行き方向)を向く姿勢となる。また、画面に垂直な軸回りの回転方向に関して、端末装置7が所定の基準姿勢から回転した場合、端末オブジェクト92の姿勢は、回転方向に応じた方向に、回転量に応じた量だけ変化する。つまり、端末オブジェクト92の姿勢は、端末装置7の姿勢と対応するように変化する。なお、上記の基準姿勢は、どのように設定されてもよいが、例えば、ゲーム開始時における端末装置7の姿勢であってもよいし、予め定められた姿勢であってもよい。 In this game example, the posture of the terminal object 92 changes in the posture related to the rotation direction around the axis perpendicular to the screen according to the posture of the terminal device 7, and does not change (fixed) in the other rotation directions. . That is, the attitude of the terminal object 92 does not change from the attitude perpendicular to the axis. When the terminal device 7 assumes a predetermined reference posture with respect to the rotation direction around the axis perpendicular to the screen, the posture of the terminal object 92 is a posture that faces the front direction (depth direction) of the virtual space displayed on the television 2. . When the terminal device 7 is rotated from a predetermined reference posture with respect to the rotation direction around the axis perpendicular to the screen, the posture of the terminal object 92 changes in the direction corresponding to the rotation direction by an amount corresponding to the rotation amount. . That is, the attitude of the terminal object 92 changes so as to correspond to the attitude of the terminal device 7. The reference posture may be set in any way, but may be, for example, the posture of the terminal device 7 at the start of the game or may be a predetermined posture.
また、本ゲーム例においては、画面に垂直な軸回りの回転方向に関する端末装置7の姿勢に基づいて端末オブジェクト92の姿勢が決定される。したがって、CPU10は、例えば端末装置7の正面方向(端末装置7の画面に平行であって、画面の上方向。図8に示すz軸方向)を向くベクトルに基づいて端末オブジェクト92の姿勢を算出することができる。つまり、端末オブジェクト92の正面方向が上記ベクトルの向きに応じた向きとなるように端末オブジェクト92の姿勢が算出されてもよい。なお、端末装置7の正面方向が鉛直方向を向く場合には、上記ベクトルに代えて、CPU10は、端末装置7の奥行き方向(端末装置7の画面に垂直であって、画面の手前側から奥側への方向。図8に示すy軸負方向)を向くベクトルに基づいて端末オブジェクト92の姿勢を算出するようにしてもよい。これによれば、プレイヤが端末装置7の画面を立てた状態(鉛直にした状態)で端末装置7を使用する場合でも、端末装置7の姿勢を変化させる操作に応じて端末オブジェクト92を制御することができる。 In the present game example, the attitude of the terminal object 92 is determined based on the attitude of the terminal device 7 with respect to the rotation direction around the axis perpendicular to the screen. Therefore, for example, the CPU 10 calculates the attitude of the terminal object 92 based on a vector that faces the front direction of the terminal device 7 (parallel to the screen of the terminal device 7 and upward of the screen; z-axis direction shown in FIG. 8). can do. That is, the orientation of the terminal object 92 may be calculated so that the front direction of the terminal object 92 is a direction corresponding to the direction of the vector. If the front direction of the terminal device 7 is in the vertical direction, the CPU 10 replaces the vector with the depth direction of the terminal device 7 (vertical to the screen of the terminal device 7 and from the near side of the screen to the back. The orientation of the terminal object 92 may be calculated based on a vector pointing in the direction toward the side (the negative y-axis direction shown in FIG. 8). According to this, even when the player uses the terminal device 7 in a state where the screen of the terminal device 7 is set up (in a vertical state), the terminal object 92 is controlled according to an operation for changing the attitude of the terminal device 7. be able to.
また、端末オブジェクト92の位置は、上記のようにして算出される端末オブジェクト92の姿勢に応じた位置となるように決定される。具体的には、端末装置7の姿勢が上記基準姿勢となる場合、端末オブジェクト92は、鍵盤オブジェクト91の円弧における中央の上方に配置される。また、画面に垂直な軸回りの回転方向に関して、端末装置7が所定の基準姿勢から(画面上方から見て)右回りに回転した場合、端末オブジェクト92は、回転量に応じた移動量だけ鍵盤オブジェクト91の円弧上を右方向に移動する。一方、端末装置7が所定の基準姿勢から(画面上方から見て)左回りに回転した場合、端末オブジェクト92は、回転量に応じた移動量だけ鍵盤オブジェクト91の円弧上を左方向に移動する。 Further, the position of the terminal object 92 is determined so as to be a position corresponding to the attitude of the terminal object 92 calculated as described above. Specifically, when the attitude of the terminal device 7 becomes the reference attitude, the terminal object 92 is arranged above the center of the arc of the keyboard object 91. In addition, when the terminal device 7 rotates clockwise from a predetermined reference posture (as viewed from the upper side of the screen) with respect to the rotation direction about the axis perpendicular to the screen, the terminal object 92 has the keyboard moved by a movement amount corresponding to the rotation amount. Move on the arc of the object 91 in the right direction. On the other hand, when the terminal device 7 rotates counterclockwise from a predetermined reference posture (as viewed from the top of the screen), the terminal object 92 moves leftward on the arc of the keyboard object 91 by a movement amount corresponding to the rotation amount. .
ステップS12における具体的な処理としては、CPU10は、端末姿勢データ109をメインメモリから読み出し、端末装置7の姿勢に基づいて端末オブジェクト92の位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを端末オブジェクトデータ110としてメインメモリに記憶する。ステップS12の次にステップS13の処理が実行される。 As a specific process in step S <b> 12, the CPU 10 reads the terminal posture data 109 from the main memory, and calculates the position and posture of the terminal object 92 based on the posture of the terminal device 7. Then, data representing the calculated position and orientation is stored in the main memory as terminal object data 110. Following step S12, the process of step S13 is executed.
以上のように、本ゲーム例においては、ゲーム装置3は、端末装置7の姿勢に対応して姿勢(ここでは、姿勢および位置)が制御されるオブジェクト(端末オブジェクト92)を仮想空間に配置する(ステップS12)。そして、ゲーム装置3は、所定の表示装置(テレビ2)に表示するための画像として、上記オブジェクトを含む仮想空間を表す画像を生成する(後述するステップS4)。これによって、プレイヤは、端末装置7の姿勢を画面上で確認することができ、ひいては、当該姿勢に対応して変化する面94の姿勢を容易に確認することができる。 As described above, in the present game example, the game apparatus 3 arranges an object (terminal object 92) whose attitude (here, attitude and position) is controlled corresponding to the attitude of the terminal device 7 in the virtual space. (Step S12). And the game device 3 produces | generates the image showing the virtual space containing the said object as an image for displaying on a predetermined | prescribed display apparatus (TV 2) (step S4 mentioned later). As a result, the player can check the posture of the terminal device 7 on the screen, and can easily check the posture of the surface 94 that changes in accordance with the posture.
ステップS13において、CPU10は、端末装置7の姿勢に応じた面94を設定する。面94は、端末装置7の姿勢に応じて変化するように設定されればどのように設定されてもよい。本ゲーム例においては、面94は、端末装置7の姿勢に応じて変化する端末オブジェクト92の位置および姿勢に基づいて設定される。具体的には、面94の位置は、鍵盤オブジェクト91上の領域であって、端末オブジェクト92の下方(真下)の位置に設定される。上述のように、端末オブジェクト92は、端末装置7の姿勢の変化に応じて鍵盤オブジェクト91の上方を円弧状に移動するので、面94は、端末装置7の姿勢の変化に応じて、鍵盤オブジェクト91の各鍵盤の領域上を移動するように設定される。また、面94の姿勢は、鍵盤オブジェクト91と平行で、かつ、面94に垂直な軸回りの回転方向の姿勢に関して、端末オブジェクト92の姿勢と一致するように設定される。つまり、本ゲーム例においては、面94の姿勢は、端末装置7の姿勢に応じて、端末装置7の姿勢に対応するように設定される。 In step S <b> 13, the CPU 10 sets a surface 94 according to the attitude of the terminal device 7. The surface 94 may be set in any way as long as it is set so as to change according to the attitude of the terminal device 7. In the present game example, the surface 94 is set based on the position and orientation of the terminal object 92 that changes according to the orientation of the terminal device 7. Specifically, the position of the surface 94 is an area on the keyboard object 91 and is set to a position below (directly below) the terminal object 92. As described above, since the terminal object 92 moves in an arc shape above the keyboard object 91 according to the change in the attitude of the terminal device 7, the surface 94 corresponds to the keyboard object according to the change in the attitude of the terminal device 7. It is set to move on the area of each of the 91 keys. Further, the posture of the surface 94 is set so as to coincide with the posture of the terminal object 92 with respect to the posture in the rotational direction around the axis that is parallel to the keyboard object 91 and perpendicular to the surface 94. That is, in the present game example, the posture of the surface 94 is set to correspond to the posture of the terminal device 7 according to the posture of the terminal device 7.
ステップS13の具体的な処理としては、CPU10は、端末オブジェクトデータ110をメインメモリから読み出し、端末オブジェクト92の位置および姿勢に基づいて面94の位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを面データ111としてメインメモリに記憶する。ステップS13の次にステップS14の処理が実行される。 As a specific process in step S13, the CPU 10 reads the terminal object data 110 from the main memory, and calculates the position and orientation of the surface 94 based on the position and orientation of the terminal object 92. Then, the data representing the calculated position and orientation is stored in the main memory as the surface data 111. Following step S13, the process of step S14 is executed.
ステップS14において、CPU10は、端末用仮想カメラを設定する。端末用仮想カメラは、面94の位置および姿勢に基づいて設定されればよく、本ゲーム例においては、上記面94の領域を視野範囲に含む位置に設定される。すなわち、端末用仮想カメラは、視野範囲の外縁と面94の外縁とが一致するように設定される。具体的には、CPU10は、面データ111をメインメモリから読み出し、面94の位置および姿勢に基づいて端末用仮想カメラの位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを端末カメラデータ112としてメインメモリに記憶する。ステップS14の次にステップS15の処理が実行される。 In step S14, the CPU 10 sets a terminal virtual camera. The terminal virtual camera may be set based on the position and orientation of the surface 94, and in the present game example, the terminal virtual camera is set to a position including the region of the surface 94 in the visual field range. That is, the terminal virtual camera is set so that the outer edge of the visual field range coincides with the outer edge of the surface 94. Specifically, the CPU 10 reads the surface data 111 from the main memory, and calculates the position and orientation of the terminal virtual camera based on the position and orientation of the surface 94. Then, data representing the calculated position and orientation is stored in the main memory as terminal camera data 112. Following step S14, the process of step S15 is executed.
ステップS15において、CPU10は、タッチパネル52に対する入力(タッチ入力)があったか否かを判定する。具体的には、メインメモリに記憶されている最新の入力位置データ104を読み出して参照し、入力位置データ104が入力位置の座標値を表すか、それとも、入力が無いことを表すかを判定する。ステップS15の判定結果が肯定である場合、ステップS16の処理が実行される。一方、ステップS15の判定結果が否定である場合、CPU10はゲーム制御処理を終了する。 In step S <b> 15, the CPU 10 determines whether or not there is an input (touch input) to the touch panel 52. Specifically, the latest input position data 104 stored in the main memory is read and referred to, and it is determined whether the input position data 104 represents the coordinate value of the input position or no input. . If the determination result of step S15 is affirmative, the process of step S16 is executed. On the other hand, when the determination result of step S15 is negative, the CPU 10 ends the game control process.
ステップS16において、CPU10は、面94上における指定位置を算出する。指定位置は、面94上の位置であって、入力位置に応じた位置として算出される。指定位置の具体的な算出方法はどのような方法であってもよい。本ゲーム例においては、指定位置は、タッチパネル52の入力面の四辺に対する入力位置の位置関係と、面94の四辺に対する指定位置の位置関係とが同じになるように算出される。また、本ゲーム例においては、CPU10は、タッチパネル52に対する入力位置と、当該入力位置に基づいて算出される指定位置とがLCD51の画面上において一致するように、指定位置を算出する。これによれば、プレイヤが画面上においてタッチした位置が指定位置となるので、プレイヤは仮想空間内の位置をより指定しやすくなる。なお、本ゲーム例においては、タッチパネル52の入力面の形状(縦横比)と面94の形状(縦横比)とを等しくし、また、タッチパネル52の入力面と面94とをLCD51の画面上において一致させている。これによって、上記のように指定位置を算出することによって、LCD51の画面上において入力位置と制御位置とを一致させることができる。 In step S <b> 16, the CPU 10 calculates a designated position on the surface 94. The designated position is a position on the surface 94 and is calculated as a position corresponding to the input position. The specific calculation method of the designated position may be any method. In this game example, the designated position is calculated so that the positional relationship of the input position with respect to the four sides of the input surface of the touch panel 52 is the same as the positional relationship of the designated position with respect to the four sides of the surface 94. In this game example, the CPU 10 calculates the designated position so that the input position on the touch panel 52 and the designated position calculated based on the input position match on the screen of the LCD 51. According to this, since the position touched on the screen by the player becomes the designated position, it becomes easier for the player to designate the position in the virtual space. In this game example, the shape of the input surface (aspect ratio) of the touch panel 52 is made equal to the shape of the surface 94 (aspect ratio), and the input surface and the surface 94 of the touch panel 52 are on the screen of the LCD 51. Match. Thus, by calculating the designated position as described above, the input position and the control position can be matched on the screen of the LCD 51.
ステップS16の具体的な処理としては、CPU10は、まず、メインメモリに記憶されている最新の入力位置データ104を読み出し、入力位置の座標を、面94上の位置を示す2次元座標系の2次元座標に変換する。次に、CPU10は、変換によって得られた2次元座標を、3次元の仮想空間の位置を示す上記仮想空間座標系の3次元座標に変換する。この3次元座標は、上記2次元座標と、面94の位置および姿勢(あるいは、面94を表す平面の式)とを用いて算出することができる。したがって、CPU10は、面データ111をメインメモリから読み出し、上記2次元座標と面データ111とに基づいて上記3次元座標を算出する。そして、算出された3次元座標を表すデータを指定位置データ113としてメインメモリに記憶する。以上のステップS16の次にステップS17の処理が実行される。 As a specific process of step S16, the CPU 10 first reads the latest input position data 104 stored in the main memory, and the coordinates of the input position are represented by 2 in the two-dimensional coordinate system indicating the position on the surface 94. Convert to dimensional coordinates. Next, the CPU 10 converts the two-dimensional coordinates obtained by the conversion into the three-dimensional coordinates of the virtual space coordinate system indicating the position of the three-dimensional virtual space. The three-dimensional coordinates can be calculated using the two-dimensional coordinates and the position and orientation of the surface 94 (or a plane expression representing the surface 94). Therefore, the CPU 10 reads the surface data 111 from the main memory, and calculates the three-dimensional coordinates based on the two-dimensional coordinates and the surface data 111. Then, data representing the calculated three-dimensional coordinates is stored in the main memory as designated position data 113. Following step S16, the process of step S17 is executed.
ステップS17において、CPU10は、指定位置を入力として所定の処理を実行する。第1のゲーム例では、所定の処理は、指定位置にある鍵盤に対応する音を出力する処理である。具体的には、CPU10は、指定位置データ113をメインメモリから読み出し、鍵盤オブジェクト91を構成する各鍵盤から、指定位置によって指定された(指定位置を含む)鍵盤を特定する。そして、特定された鍵盤に対応する音を特定する。なお、メインメモリには、鍵盤とその鍵盤が特定された場合に出力すべき音との対応を示す対応付けデータが記憶されており、CPU10は当該対応付けデータを参照して音を特定する。さらに、CPU10は、特定した音をDSP11cに生成させる。このように、本ゲーム例においては、CPU10は、仮想空間に設定される複数の領域(鍵盤の領域)から、指定位置を含む領域を特定し、特定された領域に対応する音を出力させる。ステップS17の後、CPU10は、ゲーム制御処理を終了する。 In step S17, the CPU 10 executes a predetermined process with the designated position as an input. In the first game example, the predetermined process is a process of outputting a sound corresponding to the keyboard at the designated position. Specifically, the CPU 10 reads the designated position data 113 from the main memory, and specifies the keyboard designated by the designated position (including the designated position) from each keyboard constituting the keyboard object 91. And the sound corresponding to the specified keyboard is specified. The main memory stores association data indicating the correspondence between the keyboard and the sound to be output when the keyboard is identified, and the CPU 10 identifies the sound with reference to the association data. Further, the CPU 10 causes the DSP 11c to generate the specified sound. Thus, in the present game example, the CPU 10 specifies an area including the designated position from a plurality of areas (keyboard areas) set in the virtual space, and outputs a sound corresponding to the specified area. After step S17, the CPU 10 ends the game control process.
以上のゲーム制御処理によれば、端末装置7の姿勢の変化に応じて仮想空間内において面94が移動する(ステップS13)とともに、端末用仮想カメラが移動する(ステップS14)。その結果、端末装置7に表示される鍵盤オブジェクト91の領域が変化する(後述するステップS5およびS7)。つまり、プレイヤがタッチパネル52を用いて指定可能な鍵盤が変化する。したがって、プレイヤは、端末装置7の姿勢を変化させる操作と、タッチ入力の操作とによって、仮想空間内における鍵盤オブジェクト91の所望の位置を容易に指定することができる。 According to the above game control process, the surface 94 moves in the virtual space in accordance with the change in the attitude of the terminal device 7 (step S13), and the terminal virtual camera moves (step S14). As a result, the area of the keyboard object 91 displayed on the terminal device 7 changes (steps S5 and S7 described later). That is, the keyboard that can be designated by the player using the touch panel 52 changes. Therefore, the player can easily specify a desired position of the keyboard object 91 in the virtual space by an operation for changing the attitude of the terminal device 7 and an operation for touch input.
なお、本ゲーム例においては、仮想空間に設定される複数の領域(各鍵盤の領域)は、円弧状に(円弧上に)配置され、CPU10は、端末装置7の姿勢の変化に応じて複数の領域上を移動するように面94を設定する(ステップS13)。そして、CPU10は、面94上の指定位置を入力位置に基づいて算出する(ステップS16)。したがって、本ゲーム例においては、プレイヤは、端末装置7を回転させる(姿勢を変化させる)操作によって、略円弧状に配置される複数の領域上において面94を回転移動させることができる。これによれば、端末装置7の動きと面94の動きとが共に回転運動となり、両者の動きが対応するので、端末装置7の操作がプレイヤにとってより直感的で分かりやすいものとなる。さらに、プレイヤは、各鍵盤の円弧状の配置から端末装置7の操作方法を把握(推測)することができるので、この理由によっても、端末装置7の操作がプレイヤにとってより直感的で分かりやすいものとなる。なお、他の実施形態においては、各鍵盤が直線上に配置されてもよく、このとき、端末装置7の姿勢の変化に応じて当該直線上を移動するように面94が設定されてもよい。 In this game example, a plurality of areas (areas of each keyboard) set in the virtual space are arranged in an arc shape (on the arc), and the CPU 10 responds to a change in the attitude of the terminal device 7. The surface 94 is set so as to move on the area (step S13). Then, the CPU 10 calculates a designated position on the surface 94 based on the input position (step S16). Therefore, in this game example, the player can rotate and move the surface 94 on a plurality of regions arranged in a substantially arc shape by an operation of rotating the terminal device 7 (changing the posture). According to this, both the movement of the terminal device 7 and the movement of the surface 94 are rotational movements, and both movements correspond to each other, so that the operation of the terminal apparatus 7 becomes more intuitive and easy to understand for the player. Furthermore, the player can grasp (guess) the operation method of the terminal device 7 from the arcuate arrangement of each keyboard, and for this reason, the operation of the terminal device 7 is more intuitive and easy to understand for the player. It becomes. In another embodiment, each keyboard may be arranged on a straight line, and at this time, the surface 94 may be set so as to move on the straight line in accordance with a change in the attitude of the terminal device 7. .
また、本ゲーム例においては、ゲームシステム1は、加速度センサ73およびジャイロセンサ74を用いて端末装置7の動きを算出しているので、平行移動に関しては精度良く端末装置7の動きを算出することができないおそれがある。精度良く端末装置7の動きを算出するためには、端末装置7が回転移動(姿勢の変化)を行い、それを検出する方が好ましい。ここで、本ゲーム例においては、上記のように各鍵盤の円弧状の配置から、端末装置7を回転移動させる操作をプレイヤに推測させて実行させることができ、その結果、ゲーム装置3は精度良く端末装置7の動きを算出することができる。 Further, in the present game example, the game system 1 calculates the movement of the terminal device 7 using the acceleration sensor 73 and the gyro sensor 74, and therefore calculates the movement of the terminal device 7 with high accuracy with respect to the parallel movement. You may not be able to. In order to calculate the movement of the terminal device 7 with high accuracy, it is preferable that the terminal device 7 performs rotational movement (change in posture) and detects it. Here, in the present game example, it is possible to cause the player to guess and execute the operation of rotating the terminal device 7 from the arcuate arrangement of each keyboard as described above. The movement of the terminal device 7 can be calculated well.
図18の説明に戻り、ステップS3のゲーム制御処理の次にステップS4の処理が実行される。ステップS4においては、テレビ用画像が生成される。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータ(ゲーム空間における面94やオブジェクトのデータ等)をメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、テレビ用画像を生成する。本ゲーム例では、テレビ用仮想カメラは、鍵盤オブジェクト91の全体および端末オブジェクト92を視野範囲に含むように設定される。したがって、鍵盤オブジェクト91および端末オブジェクト92を含む仮想空間内の領域を表すテレビ用画像が生成される(図14参照)。生成されたテレビ用画像はVRAM11dに記憶される。上記ステップS4の次にステップS5の処理が実行される。 Returning to the description of FIG. 18, the process of step S4 is executed after the game control process of step S3. In step S4, a television image is generated. That is, the CPU 10 and the GPU 11b read from the main memory data representing the result of the game control process in step S3 (surface 94, object data, etc. in the game space) and store data necessary for generating a game image in the VRAM 11d. To generate a TV image. In this game example, the television virtual camera is set to include the entire keyboard object 91 and the terminal object 92 in the visual field range. Therefore, a television image representing an area in the virtual space including the keyboard object 91 and the terminal object 92 is generated (see FIG. 14). The generated television image is stored in the VRAM 11d. Following step S4, the process of step S5 is executed.
なお、本ゲーム例においては、テレビ用仮想カメラは固定して設定されたが、他の実施形態においては、テレビ用仮想カメラは移動可能に制御されてもよい。また、テレビ用仮想カメラの撮影範囲は、鍵盤オブジェクト91のうち、端末用仮想カメラによる撮影範囲よりも広い範囲となるように設定されることが好ましいが、鍵盤オブジェクト91の全体を含まなくてもよい。例えば、他の実施形態においては、CPU10は、鍵盤オブジェクト91の一部と端末オブジェクト92とを視野範囲に含むようにテレビ用仮想カメラを設定し、端末オブジェクト92の移動に応じてテレビ用仮想カメラを移動させるようにしてもよい。 In this game example, the TV virtual camera is fixedly set. However, in other embodiments, the TV virtual camera may be controlled to be movable. Further, the shooting range of the TV virtual camera is preferably set to be wider than the shooting range of the terminal virtual camera among the keyboard objects 91, but the entire keyboard object 91 may not be included. Good. For example, in another embodiment, the CPU 10 sets a television virtual camera to include a part of the keyboard object 91 and the terminal object 92 in the visual field range, and the television virtual camera according to the movement of the terminal object 92. May be moved.
ステップS5においては、端末用画像が上記ゲーム制御処理に基づいて生成される。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、端末用画像を生成する。本実施形態では、仮想空間において面94が設定される領域を表す画像が端末用画像として生成される。具体的には、タッチパネル52の入力面と面94とがLCD51の画面上で一致するように端末用画像が生成される。これによって、面94の領域内における鍵盤オブジェクト91を表す画像が端末装置7に表示される(図16参照)。生成された端末用画像はVRAM11dに記憶される。上記ステップS5の次にステップS6の処理が実行される。 In step S5, a terminal image is generated based on the game control process. That is, the CPU 10 and the GPU 11b read data representing the result of the game control process in step S3 from the main memory, read data necessary for generating a game image from the VRAM 11d, and generate a terminal image. In the present embodiment, an image representing an area where the surface 94 is set in the virtual space is generated as a terminal image. Specifically, the terminal image is generated so that the input surface of the touch panel 52 and the surface 94 coincide on the screen of the LCD 51. As a result, an image representing the keyboard object 91 in the area of the surface 94 is displayed on the terminal device 7 (see FIG. 16). The generated terminal image is stored in the VRAM 11d. Following step S5, the process of step S6 is executed.
以上のように、本ゲーム例においては、ゲーム装置3は、所定のオブジェクト(鍵盤オブジェクト91)を仮想空間に設定し、表示装置(テレビ2および端末装置7のLCD51)に表示するための画像として、当該オブジェクトを含む仮想空間を表す画像を生成する。また、ゲーム装置3は、上記指定位置として上記所定のオブジェクトの位置が算出された場合に所定の処理を実行する(上記ステップS15)。したがって、本ゲーム例においては、プレイヤは、端末装置7を用いて仮想空間内の3次元位置を指定する操作によって、仮想空間内のオブジェクトに対して入力を行う操作を行うことができる。 As described above, in the present game example, the game apparatus 3 sets a predetermined object (keyboard object 91) in the virtual space and displays it as an image to be displayed on the display device (the television 2 and the LCD 51 of the terminal device 7). Then, an image representing a virtual space including the object is generated. Further, the game apparatus 3 executes a predetermined process when the position of the predetermined object is calculated as the specified position (step S15). Therefore, in this game example, the player can perform an operation of inputting an object in the virtual space by an operation of designating a three-dimensional position in the virtual space using the terminal device 7.
さらに、本ゲーム例においては、ゲーム装置3は、端末装置7に表示するための画像として、端末装置7の姿勢に応じて範囲が変化するように上記オブジェクト(鍵盤オブジェクト91)の一部の範囲を表す画像を生成する(ステップS4)。また、ゲーム装置3は、テレビ2に表示するための画像として、上記オブジェクトのうちの上記一部の範囲よりも広い範囲を表す画像を生成する(ステップS5)。これによれば、端末装置7には相対的に拡大された画像が表示されるので、タッチ入力の操作が行いやすくなるとともに、テレビ2には相対的に広範囲の画像が表示されるので、プレイヤは端末装置7における表示範囲の周囲の状況をも知ることができる。プレイヤはテレビ2の画像を見ることによって、例えば、オブジェクトの全体に対する端末装置7における表示範囲の位置関係を把握することができる。 Further, in the present game example, the game apparatus 3 displays a partial range of the object (keyboard object 91) as an image to be displayed on the terminal apparatus 7 so that the range changes according to the attitude of the terminal apparatus 7. Is generated (step S4). Further, the game apparatus 3 generates an image representing a range wider than the partial range of the objects as an image to be displayed on the television 2 (step S5). According to this, since a relatively enlarged image is displayed on the terminal device 7, it is easy to perform a touch input operation, and a relatively wide range of images are displayed on the television 2. Can also know the situation around the display range in the terminal device 7. The player can grasp the positional relationship of the display range in the terminal device 7 with respect to the entire object, for example, by looking at the image on the television 2.
ステップS6において、CPU10は、テレビ2へゲーム画像を出力する。具体的には、CPU10は、VRAM11dに記憶されたテレビ用画像のデータをAV−IC15へ送る。これに応じて、AV−IC15はテレビ用画像のデータを、AVコネクタ16を介してテレビ2へ出力する。これによって、テレビ用画像がテレビ2に表示される。また、上記ステップS17において生成された音声がテレビ2へ出力される場合には、CPU10は、ステップS17で生成された音声のデータをAV−IC15へ送る。これに応じて、AV−IC15は音声のデータをAVコネクタ16を介してテレビ2へ出力する。これによって、テレビ用ゲーム音声がスピーカ2aから出力される。ステップS6の次にステップS7の処理が実行される。 In step S <b> 6, the CPU 10 outputs a game image to the television 2. Specifically, the CPU 10 sends TV image data stored in the VRAM 11 d to the AV-IC 15. In response, the AV-IC 15 outputs television image data to the television 2 via the AV connector 16. As a result, the television image is displayed on the television 2. When the sound generated in step S17 is output to the television 2, the CPU 10 sends the sound data generated in step S17 to the AV-IC 15. In response to this, the AV-IC 15 outputs audio data to the television 2 via the AV connector 16. Thereby, the game sound for TV is output from the speaker 2a. Following step S6, the process of step S7 is executed.
ステップS7において、CPU10は、端末装置7へゲーム画像を出力(送信)する。具体的には、VRAM11dに記憶された端末用画像の画像データは、CPU10によってコーデックLSI27に送られ、コーデックLSI27によって所定の圧縮処理が行われる。圧縮処理が施された画像のデータは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。端末装置7は、ゲーム装置3から送信されてくる画像のデータを無線モジュール80によって受信し、受信された画像データに対してコーデックLSI76によって所定の伸張処理が行われる。伸張処理が行われた画像データはLCD51に出力される。これによって、端末用画像がLCD51に表示される。また、上記ステップS17において生成された音声が端末装置7へ出力される場合には、生成された音声データは、CPU10によってコーデックLSI27に送られ、コーデックLSI27によって所定の圧縮処理が行われる。さらに、圧縮処理が施された音声のデータは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。端末装置7は、ゲーム装置3から送信されてくる音声のデータを無線モジュール80によって受信し、コーデックLSI76によって所定の伸張処理が行われる。伸張処理が行われた音声データはサウンドIC78に出力される。これによって、端末用ゲーム音声がスピーカ77から出力される。ステップS7の次にステップS8の処理が実行される。 In step S <b> 7, the CPU 10 outputs (transmits) the game image to the terminal device 7. Specifically, the image data of the terminal image stored in the VRAM 11d is sent to the codec LSI 27 by the CPU 10, and a predetermined compression process is performed by the codec LSI 27. The compressed image data is transmitted to the terminal device 7 through the antenna 29 by the terminal communication module 28. The terminal device 7 receives the image data transmitted from the game device 3 by the wireless module 80, and a predetermined decompression process is performed on the received image data by the codec LSI 76. The image data that has undergone the decompression process is output to the LCD 51. As a result, the terminal image is displayed on the LCD 51. When the sound generated in step S17 is output to the terminal device 7, the generated sound data is sent to the codec LSI 27 by the CPU 10, and a predetermined compression process is performed by the codec LSI 27. Further, the compressed audio data is transmitted to the terminal device 7 via the antenna 29 by the terminal communication module 28. The terminal device 7 receives the audio data transmitted from the game device 3 by the wireless module 80, and a predetermined decompression process is performed by the codec LSI 76. The audio data that has undergone the decompression process is output to the sound IC 78. As a result, the terminal game sound is output from the speaker 77. Following step S7, the process of step S8 is executed.
ステップS8において、CPU10は、ゲームを終了するか否かを判定する。ステップS8の判定は、例えば、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップS8の判定結果が否定の場合、ステップS2の処理が再度実行される。一方、ステップS8の判定結果が肯定の場合、CPU10は図16に示すゲーム処理を終了する。なお、ゲーム処理を終了する際には、ゲームデータをメモリカード等にセーブする等の処理が実行されてもよい。以降、ステップS2〜S8の一連の処理は、ステップS8でゲームを終了すると判定されるまで繰り返し実行される。 In step S8, the CPU 10 determines whether or not to end the game. The determination in step S8 is made based on, for example, whether or not the player has given an instruction to stop the game. If the determination result of step S8 is negative, the process of step S2 is executed again. On the other hand, if the determination result of step S8 is affirmative, the CPU 10 ends the game process shown in FIG. When ending the game process, a process such as saving game data in a memory card or the like may be executed. Thereafter, a series of processes in steps S2 to S8 are repeatedly executed until it is determined in step S8 that the game is to be ended.
以上のように、本ゲーム例においては、端末装置7の表示部(LCD)には、仮想空間に配置される鍵盤が表示される。そして、ゲームシステム1は、入力位置に基づく仮想空間内の位置(指定位置)として鍵盤の位置が算出された場合、当該位置に対応する鍵盤に応じた音を出力する。これによって、プレイヤは端末装置7によって鍵盤楽器を演奏する操作を行うことができる。また、上記ゲーム処理によれば、端末装置7のタッチパネル52に対する入力によって、仮想空間内の面94上の位置が指定される(ステップS16)とともに、端末装置7の姿勢に応じて面94の姿勢が変化する(ステップS13)。これによれば、プレイヤは、面94の姿勢を変化させつつ、タッチパネル52を用いて位置を指定することで、3次元の仮想空間における各鍵盤の位置を容易に指定することができる。 As described above, in the present game example, the keyboard arranged in the virtual space is displayed on the display unit (LCD) of the terminal device 7. When the position of the keyboard is calculated as a position (designated position) in the virtual space based on the input position, the game system 1 outputs a sound corresponding to the keyboard corresponding to the position. Thus, the player can perform an operation of playing the keyboard instrument by the terminal device 7. Further, according to the above game processing, the position on the surface 94 in the virtual space is designated by the input to the touch panel 52 of the terminal device 7 (step S16), and the posture of the surface 94 is determined according to the posture of the terminal device 7. Changes (step S13). According to this, the player can easily specify the position of each keyboard in the three-dimensional virtual space by specifying the position using the touch panel 52 while changing the posture of the surface 94.
[7.第2のゲーム例]
以下、図20〜図36を参照して、本実施形態のゲームシステム1において実行される第2のゲーム例について説明する。第2のゲーム例では、プレイヤは端末装置7を用いて3次元の仮想空間(ゲーム空間)に点や線を描くことができる。仮想空間を表すゲーム画像は、テレビ2および端末装置7の2つの表示装置に表示される。本ゲーム例においては、端末装置7は、表示装置としてだけでなく操作装置として用いられる。そのため、コントローラ5は用いられなくてもよく、ゲームシステム1はコントローラ5を含まない構成であってもよい。
[7. Second game example]
Hereinafter, a second game example executed in the game system 1 of the present embodiment will be described with reference to FIGS. In the second game example, the player can use the terminal device 7 to draw points and lines in a three-dimensional virtual space (game space). The game image representing the virtual space is displayed on the two display devices of the television 2 and the terminal device 7. In the present game example, the terminal device 7 is used not only as a display device but also as an operation device. Therefore, the controller 5 may not be used, and the game system 1 may be configured not to include the controller 5.
図20は、本ゲーム例においてゲーム操作が行われる場合におけるテレビ2および端末装置7を示す図である。図20に示すように、テレビ2には所定の面201が設置される3次元の仮想空間が表示され、端末装置7にもこの面201が表示される。端末装置7においては、面201と表示画面とが一致するように面201が表示される。つまり、面201は、端末装置7が備えるタッチパネル52の入力面に対応する。なお、面201はタッチパネル52の入力面(LCD51の画面)と同じアスペクト比を有する長方形の平面である。また、詳細は後述するが、面201の姿勢は端末装置7の姿勢に対応しており、端末装置7の姿勢を変化させることで仮想空間における面201の姿勢が変化する。なお、図20では、端末装置7は、タッチパネル52が水平となる姿勢であるので、面201も仮想空間において水平になっている。なお、端末装置7にはアイコン202が表示される。詳細は後述するが、アイコン202は、仮想空間に生成された軌跡を移動(回転)させるために用いられる。 FIG. 20 is a diagram illustrating the television 2 and the terminal device 7 when a game operation is performed in the present game example. As shown in FIG. 20, a three-dimensional virtual space where a predetermined surface 201 is installed is displayed on the television 2, and this surface 201 is also displayed on the terminal device 7. In the terminal device 7, the surface 201 is displayed so that the surface 201 and the display screen coincide with each other. That is, the surface 201 corresponds to the input surface of the touch panel 52 included in the terminal device 7. The surface 201 is a rectangular plane having the same aspect ratio as the input surface of the touch panel 52 (screen of the LCD 51). Although details will be described later, the posture of the surface 201 corresponds to the posture of the terminal device 7, and the posture of the surface 201 in the virtual space changes by changing the posture of the terminal device 7. In FIG. 20, since the terminal device 7 has a posture in which the touch panel 52 is horizontal, the surface 201 is also horizontal in the virtual space. An icon 202 is displayed on the terminal device 7. Although details will be described later, the icon 202 is used to move (rotate) the locus generated in the virtual space.
プレイヤは、端末装置7のタッチパネル52上にタッチペン60や指等で点や線を描くことができる。点や線が描かれた場合、図20に示すように、仮想空間における面201上には、描かれた点や線(図20では線A1)が生成されて表示される。具体的には、タッチパネル52に対する入力(タッチ入力)が行われると、入力が行われた位置(入力位置)に対応する面201上の位置(指定位置)が算出される。本ゲーム例では、点や線を表すためのオブジェクトが上記指定位置に配置されることによって、入力された点や線が表示される。以上のように、プレイヤは、タッチパネル52に対する入力操作によって3次元の仮想空間内に点や線を描くことができる。 The player can draw points and lines on the touch panel 52 of the terminal device 7 with the touch pen 60 or a finger. When a point or line is drawn, the drawn point or line (line A1 in FIG. 20) is generated and displayed on the surface 201 in the virtual space, as shown in FIG. Specifically, when an input (touch input) is performed on the touch panel 52, a position (designated position) on the surface 201 corresponding to the position (input position) where the input is performed is calculated. In this game example, an input point or line is displayed by placing an object for representing the point or line at the specified position. As described above, the player can draw points and lines in the three-dimensional virtual space by an input operation on the touch panel 52.
図21は、図20に示す状態から端末装置7を傾けた場合におけるテレビ2および端末装置7を示す図である。図20に示す状態ではタッチパネル52の入力面が水平となっていたのに対して、図21に示す状態では当該入力面が鉛直となるように端末装置7の姿勢が変化している。タッチパネル52の入力面が鉛直になるように端末装置7の姿勢を変化させると、図21に示すように、仮想空間内の面201も鉛直となるように変化する。なお、本ゲーム例では、面201は、面201の中央の位置を回転の中心として、端末装置7の姿勢に応じて回転する。また、面201の姿勢が変化した場合、端末装置7に表示される画像の視点および視線方向は、面201と表示画面とが一致するように変化する。 FIG. 21 is a diagram illustrating the television 2 and the terminal device 7 when the terminal device 7 is tilted from the state illustrated in FIG. 20. In the state illustrated in FIG. 20, the input surface of the touch panel 52 is horizontal, whereas in the state illustrated in FIG. 21, the attitude of the terminal device 7 is changed so that the input surface is vertical. When the attitude of the terminal device 7 is changed so that the input surface of the touch panel 52 is vertical, as shown in FIG. 21, the surface 201 in the virtual space is also changed to be vertical. In this game example, the surface 201 rotates according to the attitude of the terminal device 7 with the center position of the surface 201 as the center of rotation. Further, when the posture of the surface 201 changes, the viewpoint and line-of-sight direction of the image displayed on the terminal device 7 change so that the surface 201 and the display screen match.
図21に示す状態においても図20に示す状態と同様、プレイヤは、タッチパネル52に対する入力操作によって3次元の仮想空間内に点や線を描くことができる。つまり、図21に示す状態で、プレイヤがタッチパネル52に対して線を描くと、仮想空間において鉛直方向に平行となった面201上に線が生成されて表示される。ここで、図21に示す状態においては、面201の姿勢が図20に示す状態とは異なっているので、タッチ入力によって生成される線の位置や向きは図20とは異なる。すなわち、図20に示す状態で生成された線A1は、水平な面内において生成されるのに対して、図21に示す状態で生成される線A2は、鉛直な面内において生成される。したがって、線A1と線A2とで形成される図形は、平面的なものではなく、立体的なものになる。 In the state shown in FIG. 21 as well, as in the state shown in FIG. 20, the player can draw points and lines in the three-dimensional virtual space by an input operation on the touch panel 52. In other words, when the player draws a line on the touch panel 52 in the state shown in FIG. 21, a line is generated and displayed on the surface 201 that is parallel to the vertical direction in the virtual space. Here, in the state shown in FIG. 21, since the posture of the surface 201 is different from the state shown in FIG. 20, the positions and orientations of lines generated by touch input are different from those in FIG. That is, the line A1 generated in the state shown in FIG. 20 is generated in a horizontal plane, whereas the line A2 generated in the state shown in FIG. 21 is generated in a vertical plane. Therefore, the figure formed by the line A1 and the line A2 is not planar but is three-dimensional.
以上のように、本ゲーム例においては、端末装置7のタッチパネル52に対する入力に応じて、仮想空間内の面201上に図形(点や線)が生成されるとともに、端末装置7の姿勢に応じて面201の姿勢が変化する。これによれば、面201の姿勢を変化させることによって、面201上に生成される図形を立体的なものとすることができる。つまり、プレイヤは、タッチパネル52に対する入力操作によって、3次元の仮想空間において3次元的に自由に図形を描くことができる。 As described above, in the present game example, a figure (a point or a line) is generated on the surface 201 in the virtual space in accordance with the input to the touch panel 52 of the terminal device 7, and also according to the attitude of the terminal device 7. The posture of the surface 201 changes. According to this, the figure generated on the surface 201 can be made three-dimensional by changing the posture of the surface 201. That is, the player can freely draw a figure three-dimensionally in a three-dimensional virtual space by an input operation on the touch panel 52.
また、本ゲーム例では、プレイヤは、端末装置7の姿勢を変化させる操作によって仮想空間内に線を描くことも可能である。図22は、図21に示す状態から端末装置7を傾けた場合におけるテレビ2および端末装置7を示す図である。図21に示す状態では、タッチパネル52の入力面の法線方向がテレビ2の方向を向いていたのに対して、図22に示す状態では、当該法線方向がテレビ2の方向よりやや横を向いている。また、ここでは、プレイヤは、図21に示す状態から図22に示す状態へ端末装置7の姿勢を変化させる際、タッチパネル52のある1点の位置(アイコン202の位置を除く)をタッチし続けているものとする。図21に示す状態から図22に示す状態となる場合においても上記と同様、図22に示すように、端末装置7の姿勢に応じて面201の姿勢が変化する。この場合、プレイヤが同じ位置をタッチし続けていても、面201の姿勢が変化することによって仮想空間内における指定位置は変化する。したがって、図22に示すように、指定位置が変化した軌跡を表す線A3が生成されて表示される。このように、本ゲーム例では、タッチパネル52上に線を描く操作の他に、端末装置7の姿勢を変化させる操作によって仮想空間内に線を描くことも可能である。また、端末装置7の姿勢を変化させる操作によって、面201に平行でない向きに線を描くことが可能である。 In this game example, the player can also draw a line in the virtual space by an operation for changing the posture of the terminal device 7. FIG. 22 is a diagram illustrating the television 2 and the terminal device 7 when the terminal device 7 is tilted from the state illustrated in FIG. 21. In the state shown in FIG. 21, the normal direction of the input surface of the touch panel 52 faces the direction of the television 2, whereas in the state shown in FIG. It is suitable. Further, here, when the player changes the attitude of the terminal apparatus 7 from the state shown in FIG. 21 to the state shown in FIG. It shall be. In the case where the state shown in FIG. 21 is changed to the state shown in FIG. 22, the posture of the surface 201 changes according to the posture of the terminal device 7 as shown in FIG. In this case, even if the player continues to touch the same position, the designated position in the virtual space changes as the posture of the surface 201 changes. Therefore, as shown in FIG. 22, a line A3 representing a locus whose designated position has changed is generated and displayed. Thus, in this game example, in addition to the operation of drawing a line on the touch panel 52, it is also possible to draw a line in the virtual space by an operation of changing the attitude of the terminal device 7. Further, it is possible to draw a line in a direction not parallel to the surface 201 by an operation of changing the posture of the terminal device 7.
また、本ゲーム例では、プレイヤは、仮想空間内に生成された図形の向き(姿勢)を変化させることも可能である。図23は、図21に示す状態から図形を回転させた場合におけるテレビ2および端末装置7を示す図である。図21に示す状態では、タッチパネル52の入力面の法線方向がテレビ2の方向を向いていたのに対して、図23に示す状態では図22に示す状態と同様、当該法線方向がテレビ2の方向よりやや横を向いている。また、プレイヤは、図21に示す状態から図22に示す状態へ端末装置7の姿勢を変化させる際、所定の操作(ここでは、タッチパネル52のアイコン202の位置をタッチし続ける操作)を行っているものとする。このように、所定の操作が行われた状態で端末装置7の姿勢が変化される場合、生成された図形の姿勢は、端末装置7の姿勢に応じて面201の姿勢と共に変化する。例えば、図23においては、線A1およびA2からなる図形は、端末装置7が鉛直方向を軸として回転することに応じて、仮想空間における鉛直方向を軸として面201と共に回転する。このとき、テレビ2には、上記図形の向きが変化して表示される。したがって、プレイヤは、アイコン202をタッチしながら端末装置7の姿勢を変化させる操作によって、作成した図形をいろいろな向きから見ることができ、図形の形状を確認することができる。なお、端末装置7に表示される画像に関しては、視線方向が面201の姿勢と共に変化するので、図形は動いていないように見える。また、本ゲーム例では、上記所定の操作は、アイコン202をタッチする操作であるとするが、他の実施形態では、例えば端末装置7の所定のボタンを押下する操作等、どのような操作であってもよい。 In this game example, the player can also change the orientation (posture) of the graphic generated in the virtual space. FIG. 23 is a diagram showing the television 2 and the terminal device 7 when the figure is rotated from the state shown in FIG. In the state shown in FIG. 21, the normal direction of the input surface of the touch panel 52 faces the direction of the television 2, whereas in the state shown in FIG. 23, the normal direction is the same as the state shown in FIG. It is slightly sideways than the direction of 2. When the player changes the attitude of the terminal device 7 from the state shown in FIG. 21 to the state shown in FIG. 22, the player performs a predetermined operation (here, an operation of continuously touching the position of the icon 202 on the touch panel 52). It shall be. As described above, when the posture of the terminal device 7 is changed in a state where a predetermined operation is performed, the posture of the generated graphic changes with the posture of the surface 201 according to the posture of the terminal device 7. For example, in FIG. 23, the figure composed of the lines A1 and A2 rotates together with the surface 201 about the vertical direction in the virtual space in response to the terminal device 7 rotating about the vertical direction. At this time, the orientation of the graphic is changed and displayed on the television 2. Therefore, the player can see the created figure from various directions and confirm the shape of the figure by changing the posture of the terminal device 7 while touching the icon 202. In addition, regarding the image displayed on the terminal device 7, since the line-of-sight direction changes with the posture of the surface 201, the figure appears not to move. In the present game example, the predetermined operation is an operation of touching the icon 202. However, in other embodiments, for example, an operation of pressing a predetermined button of the terminal device 7, for example, There may be.
(第2のゲーム例におけるゲーム処理)
次に、第2のゲーム例においてゲームシステム1で実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図24は、ゲーム処理において用いられる各種データを示す図である。図24において、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図24に示すように、ゲーム装置3のメインメモリには、ゲームプログラム210、端末操作データ101、および処理用データ211が記憶される。なお、メインメモリには、図24に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。以下、図24に示す各種のデータについて説明する。なお、図24において、図17に示すデータと同じデータについては図17と同じ参照符号を付し、詳細な説明を省略する。
(Game processing in the second game example)
Next, details of the game process executed by the game system 1 in the second game example will be described. First, various data used in the game process will be described. FIG. 24 is a diagram showing various data used in the game process. In FIG. 24, it is a figure which shows the main data memorize | stored in the main memory (the external main memory 12 or the internal main memory 11e) of the game device 3. As shown in FIG. 24, the main memory of the game apparatus 3 stores a game program 210, terminal operation data 101, and processing data 211. In addition to the data shown in FIG. 24, the main memory stores data necessary for the game, such as image data of various objects appearing in the game and sound data used for the game. Hereinafter, various data shown in FIG. 24 will be described. 24, the same data as the data shown in FIG. 17 is denoted by the same reference numerals as those in FIG. 17, and detailed description thereof is omitted.
ゲームプログラム210は、第2のゲーム例におけるゲーム処理をゲーム装置3のコンピュータ(CPU10)に実行させるためのものである。ゲームプログラム210は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム210は、光ディスク4に代えて、フラッシュメモリ17やゲーム装置3の外部装置から(例えばインターネットを介して)取得されてもよい。また、ゲームプログラム210に含まれる一部(例えば、コントローラ5および/または端末装置7の姿勢を算出するためのプログラム)については、ゲーム装置3内に予め記憶されていてもよい。 The game program 210 is for causing the computer (CPU 10) of the game apparatus 3 to execute game processing in the second game example. A part or all of the game program 210 is read from the optical disk 4 and stored in the main memory at an appropriate timing after the game apparatus 3 is turned on. Note that the game program 210 may be obtained from the flash memory 17 or an external device of the game apparatus 3 (for example, via the Internet) instead of the optical disc 4. A part (for example, a program for calculating the attitude of the controller 5 and / or the terminal device 7) included in the game program 210 may be stored in advance in the game apparatus 3.
端末操作データ101は、上記第1のゲーム例と同様、端末装置7に対するプレイヤの操作を表すデータである。なお、本ゲーム例ではコントローラ5が操作装置として用いられないので図示しないが、メインメモリには、コントローラ5に対するプレイヤの操作を表すコントローラ操作データが記憶されてもよい。 The terminal operation data 101 is data representing a player's operation on the terminal device 7 as in the first game example. In the present game example, the controller 5 is not used as an operating device and is not shown. However, the main memory may store controller operation data representing the player's operation on the controller 5.
処理用データ211は、後述するゲーム処理(図25等)において用いられるデータである。処理用データ211は、上記第1のゲーム例と同様の端末姿勢データ109、面姿勢データ212、面座標データ213、空間座標データ214、図形データ215、および、端末カメラデータ217を含む。なお、図24に示すデータの他、処理用データ211は、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。 The processing data 211 is data used in a game process (FIG. 25 and the like) described later. The processing data 211 includes terminal posture data 109, surface posture data 212, surface coordinate data 213, space coordinate data 214, graphic data 215, and terminal camera data 217 similar to those in the first game example. In addition to the data shown in FIG. 24, the processing data 211 includes various data used in the game process, such as data representing various parameters set for various objects appearing in the game.
面姿勢データ212は、仮想空間に設定される面201の姿勢を表すデータである。面姿勢データ212が表す面201の姿勢は、回転行列によって表現されてもよいし、3次のベクトルまたは3つの角度によって表現されてもよいし、平面の式によって表現されてもよい。なお、本ゲーム例においては、面201の位置は予め定められた位置に固定される。 The surface posture data 212 is data representing the posture of the surface 201 set in the virtual space. The posture of the surface 201 represented by the surface posture data 212 may be represented by a rotation matrix, may be represented by a cubic vector or three angles, or may be represented by a plane equation. In this example game, the position of the surface 201 is fixed at a predetermined position.
面座標データ213は、上記指定位置の面座標を表すデータである。ここで、面座標とは、面201を基準とした座標系(面座標系)によって上記指定位置を表現する座標である。なお、指定位置は面201上の点であるので、面座標データ213は2次元の座標値を表すものであってもよい。面201上の指定位置は、タッチパネル52上の入力位置に対応し、面座標データ213は、入力位置データ104に基づいて算出される。 The plane coordinate data 213 is data representing the plane coordinates of the designated position. Here, the plane coordinates are coordinates that express the designated position by a coordinate system (plane coordinate system) with the plane 201 as a reference. Since the designated position is a point on the surface 201, the surface coordinate data 213 may represent a two-dimensional coordinate value. The designated position on the surface 201 corresponds to the input position on the touch panel 52, and the surface coordinate data 213 is calculated based on the input position data 104.
空間座標データ214は、上記指定位置の空間座標を表すデータである。ここで、空間座標とは、仮想空間を基準とした座標系(空間座標系)によって上記指定位置を表現した座標である。空間座標データ214は、指定位置を3次元の座標値によって表す。空間座標データ214は、面姿勢データ212と上記面座標データ213とに基づいて算出される。 The spatial coordinate data 214 is data representing the spatial coordinates of the designated position. Here, the space coordinates are coordinates representing the designated position by a coordinate system (space coordinate system) based on the virtual space. The spatial coordinate data 214 represents a designated position by a three-dimensional coordinate value. The spatial coordinate data 214 is calculated based on the surface orientation data 212 and the surface coordinate data 213.
図形データ215は、指定位置によって形成される図形を表すデータである。図形データ215には、1以上の軌跡データ216が含まれる。軌跡データ216は、算出された指定位置の軌跡を表すデータである。具体的には、軌跡データ216は、タッチパネル52に対して連続して入力が行われる場合(すなわち、入力位置が連続して検出される場合)、入力位置に対応する指定位置を古いものから順に表す。軌跡データ216は、指定位置を上記空間座標系で表現した座標値を表す。また、本ゲーム例においては、あるタッチ入力が終了してから新たに次のタッチ入力が行われる場合、当該あるタッチ入力に応じて生成された軌跡データ216とは別に、当該次のタッチ入力に応じて新たな軌跡データ216が生成されてメインメモリに記憶される。 The graphic data 215 is data representing a graphic formed by a designated position. The graphic data 215 includes one or more trajectory data 216. The trajectory data 216 is data representing the trajectory of the calculated designated position. Specifically, the trajectory data 216, when input is continuously performed on the touch panel 52 (that is, when the input position is continuously detected), the designated position corresponding to the input position is in order from the oldest one. To express. The trajectory data 216 represents a coordinate value representing the designated position in the spatial coordinate system. Further, in this game example, when a next touch input is newly performed after a certain touch input is completed, the next touch input is performed separately from the trajectory data 216 generated according to the certain touch input. In response, new trajectory data 216 is generated and stored in the main memory.
端末カメラデータ217は、端末用画像を生成するために用いられる仮想カメラ(端末用仮想カメラ)の位置および姿勢を表すデータである。本ゲーム例においては、端末用仮想カメラの位置および姿勢は、面201の位置に基づいて設定される。 The terminal camera data 217 is data representing the position and orientation of a virtual camera (terminal virtual camera) used for generating a terminal image. In this example game, the position and orientation of the terminal virtual camera are set based on the position of the surface 201.
上記各データ212〜217の他、メインメモリには、ゲーム処理において必要となる各種のデータが記憶される。本ゲーム例においては、例えば、つかみ状態であるか否かを表すフラグデータが記憶される。つかみ状態とは、上記アイコン202がタッチされている状態であり、上記指定位置の軌跡によって形成される図形を移動可能な状態である。 In addition to the data 212 to 217, the main memory stores various data necessary for the game process. In this game example, for example, flag data indicating whether or not the player is in the gripping state is stored. The grasping state is a state where the icon 202 is touched, and is a state where a figure formed by the locus of the designated position can be moved.
次に、ゲーム装置3において実行されるゲーム処理の詳細を、図25〜図28を用いて説明する。第2のゲーム例において、ゲーム処理における大略的な処理の流れを示すメインフローチャートは、図18と同様であるので、詳細な説明は省略する。以下、第1のゲーム例との相違点を中心として、第2のゲーム例におけるゲーム処理について説明する。 Next, details of the game processing executed in the game apparatus 3 will be described with reference to FIGS. In the second game example, a main flowchart showing a general process flow in the game process is the same as that in FIG. Hereinafter, the game process in the second game example will be described with a focus on differences from the first game example.
第2のゲーム例においても第1のゲーム例と同様、まずステップS1において、CPU10は初期処理を実行する。初期処理は、仮想空間を構築し、仮想空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。なお、本ゲーム例においては、面201が所定の位置および所定の姿勢で仮想空間内に配置される。面201の初期位置および初期姿勢を表すデータはメインメモリに記憶される。また、テレビ用画像を生成するために用いられる仮想カメラ(テレビ用仮想カメラ)、および、端末用画像を生成するために用いられる仮想カメラ(端末用仮想カメラ)が、所定の初期位置および初期姿勢で設定される。テレビ用仮想カメラの初期位置および初期姿勢を表すデータはメインメモリに記憶され、端末用仮想カメラの初期位置および初期姿勢を表すデータは、端末カメラデータ217としてメインメモリに記憶される。なお、テレビ用仮想カメラは、面201が視野範囲に含まれるような、予め定められた位置および姿勢に設定される。端末用仮想カメラの初期位置および初期姿勢は、視線方向が面201に垂直となり、かつ、面201がLCD51の表示画面と一致するように設定される。また、ステップS1では、つかみ状態でないことを表すデータが上記フラグデータとしてメインメモリに記憶される。ステップS1の次にステップS2の処理が実行される。 Also in the second game example, as in the first game example, first, in step S1, the CPU 10 executes an initial process. The initial process is a process of constructing a virtual space, placing each object appearing in the virtual space at an initial position, and setting initial values of various parameters used in the game process. In the present game example, the surface 201 is arranged in the virtual space at a predetermined position and a predetermined posture. Data representing the initial position and initial posture of the surface 201 is stored in the main memory. Further, a virtual camera (television virtual camera) used for generating a television image and a virtual camera (terminal virtual camera) used for generating a terminal image have a predetermined initial position and initial posture. Set by. Data representing the initial position and initial posture of the television virtual camera is stored in the main memory, and data representing the initial position and initial posture of the terminal virtual camera is stored in the main memory as terminal camera data 217. Note that the television virtual camera is set to a predetermined position and orientation such that the surface 201 is included in the visual field range. The initial position and initial posture of the terminal virtual camera are set so that the line-of-sight direction is perpendicular to the surface 201 and the surface 201 matches the display screen of the LCD 51. In step S1, data indicating that the gripping state is not established is stored in the main memory as the flag data. Following step S1, the process of step S2 is executed.
ステップS2において、CPU10は、端末装置7から送信されてくる端末操作データを取得する。ステップS2の処理は上記第1のゲーム例と同様である。ステップS2の次にステップS3の処理が実行される。 In step S <b> 2, the CPU 10 acquires terminal operation data transmitted from the terminal device 7. The process in step S2 is the same as that in the first game example. Following step S2, the process of step S3 is executed.
ステップS3において、CPU10はゲーム制御処理を実行する。第2のゲーム例において、ゲーム制御処理は、プレイヤによる操作に従って、点や線を表すオブジェクトを仮想空間内に生成したり、当該オブジェクトを移動させたりする処理等を実行する処理である。以下、図25を参照して、ゲーム制御処理の詳細について説明する。 In step S3, the CPU 10 executes a game control process. In the second game example, the game control process is a process for generating an object representing a point or a line in the virtual space or moving the object in accordance with an operation by the player. The details of the game control process will be described below with reference to FIG.
図25は、第2のゲーム例におけるゲーム制御処理(ステップS3)の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS21において、CPU10は端末装置7の姿勢を算出する。ステップS21の処理は上記ステップS11と同様である。ステップS21の次にステップS22の処理が実行される。 FIG. 25 is a flowchart showing a detailed flow of the game control process (step S3) in the second game example. In the game control process, first, in step S <b> 21, the CPU 10 calculates the attitude of the terminal device 7. The process in step S21 is the same as that in step S11. Following step S21, the process of step S22 is executed.
ステップS22において、CPU10は、端末装置7の姿勢に応じて姿勢が変化するように面201を設定する。本ゲーム例においては、面201の位置は変化しないので、CPU10は、端末装置7の姿勢に基づいて面201の姿勢を算出する。本ゲーム例では、仮想空間における面201の姿勢は、現実空間における端末装置7の姿勢に対応するように制御される。具体的には、端末装置7のy軸(図9参照)が水平でかつテレビ2の方を向くときの端末装置7の姿勢を基準姿勢とし、端末装置7が当該基準姿勢となる場合に面201は仮想空間において水平となる。そして、端末装置7の姿勢が上記基準姿勢から変化した場合、面201は、当該基準姿勢時における面201の姿勢から、端末装置7の姿勢の変化方向に応じた方向に、変化量に応じた量だけ(本ゲーム例では、端末装置7の回転量と面201の回転量が等しくなるように)回転される。なお、面201の姿勢は、端末装置7の姿勢の変化に応じて変化するように制御されればどのように制御されてもよい。 In step S <b> 22, the CPU 10 sets the surface 201 so that the posture changes according to the posture of the terminal device 7. In the present game example, since the position of the surface 201 does not change, the CPU 10 calculates the posture of the surface 201 based on the posture of the terminal device 7. In this game example, the posture of the surface 201 in the virtual space is controlled to correspond to the posture of the terminal device 7 in the real space. Specifically, the orientation of the terminal device 7 when the y-axis (see FIG. 9) of the terminal device 7 is horizontal and faces the television 2 is set as the reference orientation, and the terminal device 7 assumes the reference orientation. 201 becomes horizontal in the virtual space. When the posture of the terminal device 7 changes from the reference posture, the surface 201 changes in accordance with the amount of change from the posture of the surface 201 at the time of the reference posture to the direction according to the change direction of the posture of the terminal device 7. It is rotated by the amount (in this game example, the amount of rotation of the terminal device 7 is equal to the amount of rotation of the surface 201). Note that the posture of the surface 201 may be controlled in any way as long as it is controlled to change in accordance with the change in the posture of the terminal device 7.
ステップS22の具体的な処理としては、CPU10は、端末姿勢データ109をメインメモリから読み出し、端末装置7の姿勢に基づいて面201の姿勢を算出する。算出された面201の姿勢を表すデータは、面姿勢データ212としてメインメモリに記憶される。なお、本ゲーム例においては、面201の姿勢は、例えば、面201を基準とした3次元の面座標系における3軸の方向を空間座標系によって表す3つのベクトルとして表現されてもよい。ステップS22の次にステップS23の処理が実行される。 As a specific process of step S <b> 22, the CPU 10 reads the terminal attitude data 109 from the main memory, and calculates the attitude of the surface 201 based on the attitude of the terminal device 7. Data representing the calculated posture of the surface 201 is stored in the main memory as the surface posture data 212. In the present game example, the posture of the surface 201 may be expressed as, for example, three vectors representing the three-axis directions in the three-dimensional surface coordinate system with the surface 201 as a reference by a spatial coordinate system. Following step S22, the process of step S23 is executed.
ステップS23において、CPU10は、図形移動処理を実行する。図形移動処理は、プレイヤによる入力に応じて設定された指定位置によって形成される図形を、端末装置7の姿勢に応じて移動(回転)させる処理である。図形移動処理の詳細については後述する。ステップS23の次にステップS24の処理が実行される。 In step S23, the CPU 10 executes a graphic movement process. The graphic movement process is a process of moving (rotating) a graphic formed by a designated position set in accordance with an input by the player according to the attitude of the terminal device 7. Details of the figure moving process will be described later. Following step S23, the process of step S24 is executed.
ステップS24において、CPU10は、タッチパネル52に対してタッチ入力が行われたか否かを判定する。この判定は、ステップS2で読み出される入力位置データ104を参照することで行うことができる。ステップS24の判定結果が肯定である場合、ステップS25の処理が実行される。一方、ステップS24の判定結果が否定である場合、ステップS25〜S30の処理がスキップされ、後述するステップS31の処理が実行される。 In step S <b> 24, the CPU 10 determines whether touch input has been performed on the touch panel 52. This determination can be made by referring to the input position data 104 read in step S2. If the determination result of step S24 is affirmative, the process of step S25 is executed. On the other hand, when the determination result of step S24 is negative, the processes of steps S25 to S30 are skipped, and the process of step S31 described later is executed.
ステップS25およびステップS26においては、入力位置に基づいて上記指定位置が算出される。上述のように、本ゲーム例においては、入力位置によって決められる面201上の位置が指定位置として算出される。図26は、タッチパネル52の入力面上の入力位置に基づいて指定位置を算出する方法を説明するための図である。図26に示すように、面201上の指定位置P2は、タッチパネル52の入力面上における入力位置P1に対応する面201上の位置として算出される。本ゲーム例では、まず、入力位置P1に基づいて指定位置P2の面座標(Ps,Pt)が算出される。面座標(Ps,Pt)は、面201を基準とした面座標系(stu座標系)で表現される座標である。なお、ここでは、面座標系は、面201の横方向を向くs軸と、面201の縦方向を向くt軸と、面201に垂直な方向を向くu軸とで構成される。したがって、面201上の位置はs方向成分およびt方向成分の2次元座標(Ps,Pt)で表現される。なお、面座標系のu軸は、後述する図形移動処理において面201上にない位置を面座標系で表す目的で設定される。面座標(Ps,Pt)は、例えば、入力位置P1の座標値を、面201の大きさとタッチパネル52の入力面の大きさとの比率に応じてスケーリングする(所定の定数を乗算する)ことによって算出される。なお、上記比率が“1”となるように面座標系および空間座標系を設定する場合には、入力位置P1の座標値をそのまま面座標(Ps,Pt)として用いることができる。 In step S25 and step S26, the designated position is calculated based on the input position. As described above, in the present game example, the position on the surface 201 determined by the input position is calculated as the designated position. FIG. 26 is a diagram for explaining a method of calculating the designated position based on the input position on the input surface of the touch panel 52. As shown in FIG. 26, the designated position P2 on the surface 201 is calculated as a position on the surface 201 corresponding to the input position P1 on the input surface of the touch panel 52. In this example game, first, the plane coordinates (Ps, Pt) of the designated position P2 are calculated based on the input position P1. The plane coordinates (Ps, Pt) are coordinates expressed in a plane coordinate system (stu coordinate system) with the plane 201 as a reference. Here, the surface coordinate system includes an s-axis that faces the horizontal direction of the surface 201, a t-axis that faces the vertical direction of the surface 201, and a u-axis that faces a direction perpendicular to the surface 201. Therefore, the position on the surface 201 is expressed by two-dimensional coordinates (Ps, Pt) of the s direction component and the t direction component. The u-axis of the surface coordinate system is set for the purpose of representing a position not on the surface 201 in the surface coordinate system in the graphic movement process described later. The surface coordinates (Ps, Pt) are calculated by, for example, scaling the coordinate value of the input position P1 according to the ratio between the size of the surface 201 and the size of the input surface of the touch panel 52 (multiply by a predetermined constant). Is done. When the plane coordinate system and the spatial coordinate system are set so that the ratio is “1”, the coordinate value of the input position P1 can be used as the plane coordinates (Ps, Pt) as it is.
指定位置P2の面座標(Ps,Pt)が算出されると、次に、面座標(Ps,Pt)が空間座標(PS,PT,PU)に変換される。空間座標(PS,PT,PU)は、指定位置P2を空間座標系(STU座標系)で表現した座標値である。なお、空間座標系における面座標系の原点の位置および各軸の向きは、面201の位置および姿勢によって決まる。したがって、面201の位置(下記(DS,DT,DU))および姿勢(下記ベクトルAおよびベクトルB)と、面座標(Ps,Pt)とに基づいて、空間座標(PS,PT,PU)を算出することができる。具体的には、空間座標(PS,PT,PU)は、以下の式(1)に従って算出することができる。
PS=Ps×AS+Pt×AS+DS
PT=Ps×AT+Pt×AT+DT
PU=Ps×AU+Pt×AU+DU …(1)
上式(1)においては、面座標系におけるs軸の正方向を向く単位ベクトルAの各成分を(AS,AT,AU)とし、面座標系におけるt軸の正方向を向く単位ベクトルBの各成分を(BS,BT,BU)とする。また、面座標系における原点の(空間座標系における)位置を(DS,DT,DU)とする。
When the plane coordinates (Ps, Pt) of the designated position P2 are calculated, the plane coordinates (Ps, Pt) are then converted into spatial coordinates (PS, PT, PU). Spatial coordinates (PS, PT, PU) are coordinate values representing the designated position P2 in a spatial coordinate system (STU coordinate system). Note that the position of the origin of the surface coordinate system and the direction of each axis in the spatial coordinate system are determined by the position and orientation of the surface 201. Therefore, based on the position (the following (DS, DT, DU)) and orientation (the following vector A and vector B) of the surface 201 and the surface coordinates (Ps, Pt), the spatial coordinates (PS, PT, PU) are calculated. Can be calculated. Specifically, the spatial coordinates (PS, PT, PU) can be calculated according to the following equation (1).
PS = Ps × AS + Pt × AS + DS
PT = Ps × AT + Pt × AT + DT
PU = Ps × AU + Pt × AU + DU (1)
In the above equation (1), each component of the unit vector A that faces the positive direction of the s-axis in the plane coordinate system is (AS, AT, AU), and the unit vector B that faces the positive direction of the t-axis in the plane coordinate system Let each component be (BS, BT, BU). The position of the origin (in the space coordinate system) in the plane coordinate system is defined as (DS, DT, DU).
具体的には、まずステップS25において、CPU10は、入力位置に対応する指定位置の面座標を算出する。上述のように、面座標は、タッチパネル52の入力面上における入力位置P1に対応する面201上の位置P2として算出される。面座標の具体的な算出方法はどのような方法であってもよいが、面座標は、タッチパネル52の入力面の四辺に対する入力位置P1の位置関係と、面201の四辺に対する指定位置P2の位置関係とが同じになるように算出される。具体的に本ゲーム例では、上述のように、面座標は、入力位置P1の座標値を上記の比率に応じてスケーリングすることによって算出される。ステップS25の具体的な処理としては、CPU10は、ステップS2で読み出された入力位置データ104が表す入力位置から、入力位置に対応する面201上の位置を面座標系によって表現する2次元座標を算出する。そして、算出された2次元座標を表すデータを面座標データ213としてメインメモリに記憶する。ステップS25の次にステップS26の処理が実行される。 Specifically, first, in step S25, the CPU 10 calculates the plane coordinates of the designated position corresponding to the input position. As described above, the surface coordinates are calculated as the position P2 on the surface 201 corresponding to the input position P1 on the input surface of the touch panel 52. The specific method of calculating the surface coordinates may be any method, but the surface coordinates are based on the positional relationship of the input position P1 with respect to the four sides of the input surface of the touch panel 52 and the position of the designated position P2 with respect to the four sides of the surface 201. Calculated so that the relationship is the same. Specifically, in the present game example, as described above, the plane coordinates are calculated by scaling the coordinate value of the input position P1 according to the above ratio. As a specific process of step S25, the CPU 10 uses the surface coordinate system to express the position on the surface 201 corresponding to the input position from the input position represented by the input position data 104 read in step S2. Is calculated. Then, data representing the calculated two-dimensional coordinates is stored in the main memory as plane coordinate data 213. Following step S25, the process of step S26 is executed.
ステップS26において、CPU10は、上記面座標から指定位置の空間座標を算出する。上述のように、空間座標は、面座標と、面201の位置および姿勢(すなわち、空間座標系における面座標系の原点位置および各座標軸の向き)とに基づいて算出することができる。すなわち、CPU10は、面姿勢データ212と面座標データ213とをメインメモリから読み出し、面座標と面201の位置および姿勢を上式(1)に代入することによって空間座標を算出する。算出された空間座標を表すデータは、空間座標データ214としてメインメモリに記憶される。ステップS26の次にステップS27の処理が実行される。 In step S26, the CPU 10 calculates the spatial coordinates of the designated position from the surface coordinates. As described above, the spatial coordinates can be calculated based on the surface coordinates and the position and orientation of the surface 201 (that is, the origin position of the surface coordinate system and the orientation of each coordinate axis in the space coordinate system). That is, the CPU 10 reads the surface orientation data 212 and the surface coordinate data 213 from the main memory, and calculates the spatial coordinates by substituting the surface coordinates and the position and orientation of the surface 201 into the above equation (1). Data representing the calculated spatial coordinates is stored in the main memory as spatial coordinate data 214. Following step S26, the process of step S27 is executed.
上記ステップS25およびS26によれば、CPU10は、仮想空間内の指定位置として、タッチパネル52(LCD51)の表示画面上において入力位置に対応する(仮想空間内の)位置を算出する。つまり、表示画面上においては、プレイヤがタッチした位置が指定位置となるので、プレイヤは、直感的かつ分かりやすい操作で指定位置を指定することができる。 According to steps S25 and S26, the CPU 10 calculates a position (in the virtual space) corresponding to the input position on the display screen of the touch panel 52 (LCD 51) as the designated position in the virtual space. In other words, on the display screen, the position touched by the player is the designated position, so that the player can designate the designated position with an intuitive and easy-to-understand operation.
ステップS27において、CPU10は、タッチ入力が開始されたか否か(タッチ入力が開始された直後であるか否か)を判定する。具体的には、CPU10は、前回の処理ループ(ステップS2〜S8の一連の処理からなる処理ループ)においてタッチ入力があったか否かを判定する。なお、タッチパネル52の誤検出やプレイヤの誤操作を考慮して、CPU10は、前回のタッチ入力だけでなく、過去所定回数に連続してタッチ入力があったかどうかを判定するようにしてもよい。ステップS27の判定結果が肯定である場合、ステップS28の処理が実行される。一方、ステップS27の判定結果が否定である場合、ステップS29の処理が実行される。 In step S27, the CPU 10 determines whether or not touch input has been started (whether or not it is immediately after touch input has been started). Specifically, the CPU 10 determines whether or not there is a touch input in the previous processing loop (a processing loop including a series of processes in steps S2 to S8). In consideration of erroneous detection of the touch panel 52 and an erroneous operation by the player, the CPU 10 may determine whether there has been a touch input continuously for a predetermined number of times in addition to the previous touch input. If the determination result of step S27 is affirmative, the process of step S28 is executed. On the other hand, when the determination result of step S27 is negative, the process of step S29 is executed.
ステップS28において、CPU10は、ステップS25およびS26で算出された指定位置を、新たな軌跡の始点として記憶する。具体的には、CPU10は、メインメモリに記憶されている空間座標データ214を、新たな軌跡データ216としてメインメモリに記憶する。これによって、図形データ215に含まれる軌跡データ216が1つ追加されたことになる。つまり、図形を構成する軌跡が1つ追加されたことになる。ステップS28の次にステップS30の処理が実行される。 In step S28, the CPU 10 stores the designated position calculated in steps S25 and S26 as the start point of a new locus. Specifically, the CPU 10 stores the spatial coordinate data 214 stored in the main memory as new trajectory data 216 in the main memory. As a result, one trace data 216 included in the graphic data 215 is added. That is, one locus constituting the figure is added. Following step S28, the process of step S30 is executed.
ステップS29において、CPU10は、ステップS25およびS26で算出された指定位置を、既存の軌跡の終点として記憶する。具体的には、CPU10は、図形データ215に含まれる軌跡データ216のうちで最新のものについて、空間座標データ214を当該軌跡データ216に追加するように更新する。これによって、上記指定位置が最新の軌跡の終点に追加されたことになる。ステップS29の次にステップS30の処理が実行される。 In step S29, the CPU 10 stores the designated position calculated in steps S25 and S26 as the end point of the existing trajectory. Specifically, the CPU 10 updates the latest one of the trajectory data 216 included in the graphic data 215 so as to add the spatial coordinate data 214 to the trajectory data 216. As a result, the specified position is added to the end point of the latest locus. Following step S29, the process of step S30 is executed.
ステップS30において、CPU10は、ステップS25およびS26で算出された指定位置に所定のオブジェクトを配置する。ここで、所定のオブジェクトは、どのような形状であってもよいが、本ゲーム例では、指定位置の軌跡を表すオブジェクトが配置される。すなわち、CPU10は、1つの軌跡データ216に含まれる1以上の指定位置が1本の線を形成するように、オブジェクトを配置する。具体的には、1回のステップS30の処理においては、最新の指定位置と1つ前の指定位置とを結ぶ線状のオブジェクトが配置される。この線状のオブジェクトは、例えば、どの方向から見ても線状に見えるように、円柱形のオブジェクトであってもよい。また、最新の指定位置が軌跡の始点である場合には、点を表すオブジェクト(例えば球状のオブジェクト)が配置される。なお、本ゲーム例においては、ステップS30で配置されたオブジェクトは、以降の処理においても配置され続けるが、他の実施形態においては、例えばプレイヤの指示に従って消去されてもよい。また、上記ステップS30で配置されたオブジェクトは、プレイヤによって所定の操作が行われたことに応じて、所定方向に順次(自動的に)移動されてもよい。これによれば、プレイヤは、例えば、仮想空間内の一点を指定するだけで直線を描いたり、オブジェクトの移動方向と垂直な方向に入力位置を往復させることによって波線を描いたりすることができ、より多彩な線を容易に描くことができる。ステップS30の次にステップS31の処理が実行される。 In step S30, the CPU 10 places a predetermined object at the designated position calculated in steps S25 and S26. Here, the predetermined object may have any shape, but in the present game example, an object representing the locus of the designated position is arranged. That is, the CPU 10 arranges objects so that one or more designated positions included in one trajectory data 216 form one line. Specifically, in one process of step S30, a linear object connecting the latest specified position and the previous specified position is arranged. The linear object may be, for example, a cylindrical object so that it looks linear when viewed from any direction. When the latest specified position is the start point of the locus, an object representing the point (for example, a spherical object) is arranged. In the present game example, the object placed in step S30 continues to be placed in the subsequent processing, but in other embodiments, for example, it may be deleted in accordance with an instruction from the player. Further, the objects arranged in step S30 may be sequentially (automatically) moved in a predetermined direction in response to a predetermined operation performed by the player. According to this, for example, the player can draw a straight line simply by specifying one point in the virtual space, or draw a wavy line by reciprocating the input position in a direction perpendicular to the moving direction of the object, More colorful lines can be drawn easily. Following step S30, the process of step S31 is executed.
ステップS31において、CPU10は、面201の姿勢に応じて端末用仮想カメラを制御する。図27は、面201と端末用仮想カメラ205との位置関係を示す図である。なお、図27は、面201と平行な方向から面201を見た図である。図27に示すように、面201の姿勢が変化した場合、面201の姿勢に応じて端末用仮想カメラ205の位置および姿勢が変化する。具体的には、端末用仮想カメラ205は、面201が視野範囲に含まれるように設定される。本ゲーム例においては、面201の外周と端末用仮想カメラ205の視野範囲の外縁とが一致するように端末用仮想カメラ205が設定される。したがって、端末用仮想カメラ205の位置は、面201の中心位置P3を通りかつ面201に垂直な直線上であって、面201からの距離が視野範囲に応じた所定距離となる位置に設定される。また、端末用仮想カメラ205の姿勢は、面201の中心位置P3を向くように設定される。以上のように端末用仮想カメラ205が設定されることによって、端末装置7のLCD51には、タッチパネル52の入力面と面201とが画面上において一致するように面201が表示されることになる(図21等参照)。これによれば、指定位置は、プレイヤがタッチした画面上の位置となり、当該位置に点や線を表すオブジェクトが生成されて表示されるので、タッチパネル52の操作を直感的でわかりやすい操作にすることができる。 In step S <b> 31, the CPU 10 controls the terminal virtual camera according to the orientation of the surface 201. FIG. 27 is a diagram illustrating a positional relationship between the surface 201 and the terminal virtual camera 205. FIG. 27 is a diagram of the surface 201 viewed from a direction parallel to the surface 201. As illustrated in FIG. 27, when the posture of the surface 201 changes, the position and posture of the terminal virtual camera 205 change according to the posture of the surface 201. Specifically, the terminal virtual camera 205 is set so that the surface 201 is included in the visual field range. In this game example, the terminal virtual camera 205 is set so that the outer periphery of the surface 201 matches the outer edge of the visual field range of the terminal virtual camera 205. Therefore, the position of the terminal virtual camera 205 is set to a position that is on a straight line that passes through the center position P3 of the surface 201 and is perpendicular to the surface 201, and that the distance from the surface 201 is a predetermined distance corresponding to the visual field range. The Further, the attitude of the terminal virtual camera 205 is set so as to face the center position P3 of the surface 201. By setting the terminal virtual camera 205 as described above, the surface 201 is displayed on the LCD 51 of the terminal device 7 so that the input surface of the touch panel 52 and the surface 201 coincide on the screen. (See FIG. 21 etc.). According to this, the designated position is a position on the screen touched by the player, and an object representing a point or a line is generated and displayed at the position, so that the operation of the touch panel 52 is made intuitive and easy to understand. Can do.
ステップS31の具体的な処理としては、CPU10は、メインメモリから面姿勢データ212を読み出し、面201の位置および姿勢に基づいて端末用仮想カメラ205の位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを端末カメラデータ217としてメインメモリに記憶する。ステップS31の後、CPU10はゲーム制御処理を終了する。 As a specific process of step S31, the CPU 10 reads the surface orientation data 212 from the main memory, and calculates the position and orientation of the terminal virtual camera 205 based on the position and orientation of the surface 201. Data representing the calculated position and orientation is stored in the main memory as terminal camera data 217. After step S31, the CPU 10 ends the game control process.
次に、上記図形移動処理の詳細について説明する。図28は、図25に示す図形移動処理(ステップS23)の詳細な流れを示すフローチャートである。図形移動処理においてはまずステップS41において、CPU10は、現在の状態がつかみ状態であるか否かを判定する。この判定は、メインメモリに記憶される上記フラグデータを読み出し、フラグデータを参照することによって行うことができる。ステップS41の判定結果が肯定である(つかみ状態である)場合、後述するステップS45の処理が実行される。一方、ステップS41の判定結果が否定である(つかみ状態でない)場合、ステップS42の処理が実行される。 Next, details of the graphic movement process will be described. FIG. 28 is a flowchart showing a detailed flow of the graphic movement process (step S23) shown in FIG. In the graphic movement process, first, in step S41, the CPU 10 determines whether or not the current state is a gripping state. This determination can be made by reading the flag data stored in the main memory and referring to the flag data. If the determination result of step S41 is affirmative (the gripping state), the process of step S45 described later is executed. On the other hand, when the determination result of step S41 is negative (not the gripping state), the process of step S42 is executed.
ステップS42において、CPU10は、つかみ状態が開始されたか否かを判定する。ここで、つかみ状態が開始される場合とは、前回の処理ループ(ステップS2〜S8の処理ループ)においてアイコン202に対するタッチ入力がなく、かつ、今回の処理ループにおいてアイコン202に対するタッチ入力がある場合である。具体的には、CPU10は、上記フラグデータをメインメモリから読み出し、フラグデータがつかみ状態でないことを表し、かつ、ステップS2で読み出された入力位置データ104がアイコン202の位置を表す場合、つかみ状態が開始されたと判定する。一方、上記フラグデータがつかみ状態であることを表すか、または、ステップS2で読み出された入力位置データ104がアイコン202以外の位置を表す場合、つかみ状態が開始された時点ではないと判定する。ステップS42の判定結果が肯定である場合、ステップS43の処理が実行される。一方、ステップS42の判定結果が否定である場合、CPU10は図形移動処理を終了する。 In step S42, the CPU 10 determines whether or not the gripping state has been started. Here, the case where the gripping state is started means that there is no touch input to the icon 202 in the previous processing loop (the processing loop of steps S2 to S8), and there is a touch input to the icon 202 in the current processing loop. It is. Specifically, the CPU 10 reads the flag data from the main memory, indicates that the flag data is not in the grabbing state, and if the input position data 104 read in step S2 represents the position of the icon 202, the grabbing is performed. It is determined that the state has started. On the other hand, if the flag data indicates that it is in the gripping state or if the input position data 104 read in step S2 indicates a position other than the icon 202, it is determined that it is not the time when the gripping state is started. . When the determination result of step S42 is affirmative, the process of step S43 is executed. On the other hand, when the determination result of step S42 is negative, the CPU 10 ends the graphic movement process.
ステップS43において、CPU10は、指定位置で形成される図形を保存する。なお、本ゲーム例では、CPU10は、図形を構成する各指定位置を面座標系による座標値で保存する。すなわち、CPU10は、メインメモリから図形データ215と面姿勢データ212とを読み出し、図形データ215が表す1以上の指定位置の空間座標を面座標に変換する。この変換は、面姿勢データ212が表す面201の姿勢を用いて行われる。CPU10は、変換された面座標を表すデータをメインメモリに記憶する。なお、このデータは、図形データ215に含まれる軌跡データ216と同様、各指定位置を軌跡毎にまとめた形式で記憶される。ステップS43の次にステップS44の処理が実行される。 In step S43, the CPU 10 saves the graphic formed at the designated position. In this game example, the CPU 10 stores each designated position constituting the figure as a coordinate value in the plane coordinate system. That is, the CPU 10 reads the graphic data 215 and the surface orientation data 212 from the main memory, and converts the spatial coordinates of one or more specified positions represented by the graphic data 215 into surface coordinates. This conversion is performed using the posture of the surface 201 represented by the surface posture data 212. The CPU 10 stores data representing the converted plane coordinates in the main memory. Note that this data is stored in a format in which the designated positions are grouped for each locus, similarly to the locus data 216 included in the graphic data 215. Following step S43, the process of step S44 is executed.
ステップS44において、CPU10は、上記フラグデータをつかみ状態を表すように設定する。すなわち、CPU10は、メインメモリに記憶されるフラグデータを、つかみ状態であることを表すように更新する。これによって、これ以降、アイコン202に対するタッチ入力がなくなるまで、ステップS41の判定処理ではつかみ状態であると判定されることになる。ステップS44の次に、後述するステップS47の処理が実行される。 In step S44, the CPU 10 sets the flag data so as to indicate a gripping state. That is, the CPU 10 updates the flag data stored in the main memory so as to indicate that it is in the gripping state. Thus, until then, until there is no touch input to the icon 202, it is determined in the determination process of step S41 that the gripping state is established. Following step S44, a process of step S47 described later is executed.
一方、ステップS45において、CPU10は、つかみ状態が終了したか否かを判定する。すなわち、CPU10は、ステップS2で読み出された入力位置データ104がアイコン202以外の位置を表すか、または、タッチ入力がないことを表す場合、つかみ状態が終了したと判定する。一方、上記入力位置データ104がアイコン202の位置を表す場合、つかみ状態が終了していない(継続している)と判定する。ステップS45の判定結果が肯定である場合、ステップS46の処理が実行される。一方、ステップS45の判定結果が否定である場合、ステップS46の処理がスキップされてステップS47の処理が実行される。 On the other hand, in step S45, the CPU 10 determines whether or not the gripping state has ended. That is, if the input position data 104 read in step S2 represents a position other than the icon 202 or indicates that there is no touch input, the CPU 10 determines that the gripping state has ended. On the other hand, when the input position data 104 indicates the position of the icon 202, it is determined that the gripping state has not ended (continues). If the determination result of step S45 is affirmative, the process of step S46 is executed. On the other hand, if the determination result of step S45 is negative, the process of step S46 is skipped and the process of step S47 is executed.
ステップS46において、CPU10は、上記フラグデータをつかみ状態を解除するように設定する。すなわち、CPU10は、メインメモリに記憶されるフラグデータを、つかみ状態でないことを表すように更新する。これによって、これ以降の処理においては、ステップS41の判定処理ではつかみ状態でないと判定されることになる。ステップS46の次にステップS47の処理が実行される。 In step S46, the CPU 10 sets the flag data so as to release the gripping state. That is, the CPU 10 updates the flag data stored in the main memory so as to indicate that it is not in the gripping state. As a result, in the subsequent processing, it is determined that the gripping state is not established in the determination processing in step S41. Following step S46, the process of step S47 is executed.
ステップS47において、CPU10は、指定位置で形成される図形を移動する。本ゲーム例では、図形は、操作装置7の姿勢の変化に応じて(すなわち、面201の姿勢の変化に応じて)回転する。なお、ここでは、図形の回転中心は、面201と同様、面201の中心位置である。ここで、上述のように、現在(回転後)の指定位置の空間座標は、指定位置の面座標と、現在の面201の姿勢とに基づいて算出することができる。したがって、CPU10は、ステップS43で保存された面座標を表すデータと、面姿勢データ212とをメインメモリから読み出し、当該面座標を、面201の姿勢を用いて空間座標に変換する。これによって、面201の姿勢に応じて回転された図形を形成する指定位置の空間座標を算出することができる。CPU10は、算出された1以上の空間座標を表すデータを、新たな図形データ215としてメインメモリに記憶する。ステップS47の後、CPU10は図形移動処理を終了する。 In step S47, the CPU 10 moves the figure formed at the designated position. In this example game, the figure rotates according to a change in the attitude of the controller device 7 (that is, according to a change in the attitude of the surface 201). Here, the rotation center of the figure is the center position of the surface 201 as with the surface 201. Here, as described above, the spatial coordinates of the current (after rotation) designated position can be calculated based on the surface coordinates of the designated position and the current posture of the surface 201. Therefore, the CPU 10 reads out the data representing the surface coordinates stored in step S43 and the surface orientation data 212 from the main memory, and converts the surface coordinates into spatial coordinates using the orientation of the surface 201. As a result, the spatial coordinates of the designated position that forms the rotated figure according to the orientation of the surface 201 can be calculated. The CPU 10 stores data representing one or more calculated spatial coordinates in the main memory as new graphic data 215. After step S47, the CPU 10 ends the graphic movement process.
上記図形移動処理によれば、CPU10は、端末装置7に対する操作に基づいて上記図形を表すオブジェクトを移動(回転)させる(ステップS47)。したがって、プレイヤは、描いた図形をいろいろな位置または方向から見ることができ、描いた図形の形状を容易に確認することができる。本ゲーム例では、図形が3次元的な形状であるので、図形をいろいろな位置または方向から見ることが特に有効である。 According to the graphic movement process, the CPU 10 moves (rotates) the object representing the graphic based on an operation on the terminal device 7 (step S47). Therefore, the player can see the drawn figure from various positions or directions, and can easily confirm the shape of the drawn figure. In this example game, since the figure has a three-dimensional shape, it is particularly effective to see the figure from various positions or directions.
また、本ゲーム例においては、CPU10は、端末装置7に対する操作に関して所定の条件(具体的には、アイコン202を指定する操作が行われたこと)が満たされる場合(ステップS41でYesまたはステップS42でYes)、上記図形のオブジェクトを端末装置7の姿勢に基づいて移動させる(ステップS47)。一方、上記所定の条件が満たされない場合(ステップS42でNo)、CPU10は、端末装置7の姿勢に基づく上記オブジェクトの移動を行わない。上記によれば、プレイヤは、端末装置7の姿勢を変化させるという直感的で容易な操作によって図形の向きを変化させることができる。さらに、上記によれば、プレイヤは、面201の姿勢を変化させる操作と同じ操作によって図形の向きを変化させることができるので、操作性をより向上することができる。 Further, in this game example, the CPU 10 satisfies a predetermined condition (specifically, that an operation for designating the icon 202 has been performed) regarding the operation on the terminal device 7 (Yes in step S41 or step S42). Yes), the graphic object is moved based on the attitude of the terminal device 7 (step S47). On the other hand, when the predetermined condition is not satisfied (No in step S42), the CPU 10 does not move the object based on the attitude of the terminal device 7. Based on the above, the player can change the orientation of the figure by an intuitive and easy operation of changing the posture of the terminal device 7. Furthermore, according to the above, since the player can change the orientation of the figure by the same operation as the operation of changing the posture of the surface 201, the operability can be further improved.
また、本ゲーム例においては、図形移動処理において図形を移動するために、CPU10は、図形を構成する各指定位置の面座標を記憶するようにした。すなわち、ステップS43の処理においては指定位置の面座標が記憶され、図形を移動させるステップS47の処理においては、当該面座標と、現在の面201の姿勢とを用いて、移動後の指定位置の空間座標が算出された。ここで、他の実施形態においては、CPU10は、ステップS43の処理において、図形を構成する各指定位置の空間座標を記憶するようにしてもよい。このとき、ステップS47の処理においては、CPU10は、前回の処理ループにおける面201の姿勢から今回の処理ループにおける面201の姿勢までの変化に応じて、図形を回転させてもよい。具体的には、面201の姿勢の変化方向と同じ方向に、面201の姿勢の変化量と同じ量だけ図形を移動(回転)させるようにしてもよい。ここで、空間座標を記憶する方法では、ステップS47の処理において面201の変化と図形の変化との間に誤差が生じ、ステップS47の処理が繰り返されることによって誤差が蓄積するおそれがある。そのため、面201の回転に合わせて図形を正確に回転させることができないおそれがある。これに対して、本ゲーム例によれば、ステップS43で面座標を保存することによって、保存した面座標と現在の面201の姿勢とを用いて移動後の指定位置を算出することができる。これによれば、誤差が蓄積されることがないので、面201の回転に合わせて図形を正確に回転させることができる。 In this game example, in order to move a figure in the figure movement process, the CPU 10 stores the surface coordinates of each designated position constituting the figure. That is, the surface coordinates of the designated position are stored in the process of step S43, and the process of step S47 for moving the figure uses the surface coordinates and the posture of the current surface 201 to determine the position of the designated position after the movement. Spatial coordinates were calculated. Here, in another embodiment, the CPU 10 may store the spatial coordinates of each designated position constituting the figure in the process of step S43. At this time, in the process of step S47, the CPU 10 may rotate the figure in accordance with the change from the attitude of the surface 201 in the previous process loop to the attitude of the surface 201 in the current process loop. Specifically, the figure may be moved (rotated) in the same direction as the change direction of the posture of the surface 201 by the same amount as the change amount of the posture of the surface 201. Here, in the method of storing the spatial coordinates, an error occurs between the change of the surface 201 and the change of the figure in the process of step S47, and the error may be accumulated by repeating the process of step S47. Therefore, there is a possibility that the figure cannot be accurately rotated in accordance with the rotation of the surface 201. On the other hand, according to the present game example, by saving the plane coordinates in step S43, the designated position after movement can be calculated using the saved plane coordinates and the current posture of the plane 201. According to this, since the error is not accumulated, the figure can be accurately rotated in accordance with the rotation of the surface 201.
また、本ゲーム例における上記ステップS47の処理においては、仮想空間に配置された図形の全体が移動された。ここで、他の実施形態においては、上記図形の一部のみが移動されてもよい。例えば、CPU10は、プレイヤによって指定された軌跡のみを上記ステップS43で保存し、当該軌跡のみを上記ステップS47で移動させるようにしてもよい。なお、軌跡はどのような方法で指定されてもよいが、例えば、画面上における入力位置に表示される軌跡が指定されてもよい。 Moreover, in the process of step S47 in the present game example, the entire figure arranged in the virtual space has been moved. Here, in other embodiments, only a part of the graphic may be moved. For example, the CPU 10 may store only the trajectory designated by the player in step S43 and move only the trajectory in step S47. The trajectory may be specified by any method, but for example, the trajectory displayed at the input position on the screen may be specified.
メインフローチャート(ステップS1〜S8)の説明に戻り、ステップS3のゲーム制御処理の次にステップS4の処理が実行される。ステップS4においては、テレビ用画像が生成される。第2のゲーム例においてもテレビ用画像の具体的な生成方法は第1のゲーム例と同様である。上記ステップS4の次にステップS5の処理が実行される。 Returning to the description of the main flowchart (steps S1 to S8), the process of step S4 is executed after the game control process of step S3. In step S4, a television image is generated. Also in the second game example, the specific method for generating an image for television is the same as in the first game example. Following step S4, the process of step S5 is executed.
また、本ゲーム例においては、指定位置に所定のオブジェクトが配置される(ステップS30)ことによって、指定位置に対応するテレビ用画像上の位置に当該オブジェクトの画像が生成される。したがって、プレイヤは、タッチパネル52の入力面に対して入力を行った位置を容易に確認することができ、入力面上に描いた図形を容易に確認することができる。また、プレイヤは、入力面に対して点や線を描くことで、仮想空間内に3次元の図形を描くことができる。さらに、本ゲーム例においては、上記オブジェクトは、入力面に連続して入力される各入力位置(入力位置)によって決められる各指定位置の軌跡を表すように生成される(ステップS30)。したがって、当該軌跡を表す画像が生成されてテレビ2に表示される。これによって、プレイヤは、タッチパネル52上で描いた線を容易に確認することができる。また、プレイヤが入力面に対して点で入力を行った場合と線で入力を行った場合とで、表示される画像が異なるので、ゲーム装置は、入力面に対する入力をより正確に反映した画像を表示することができる。 Further, in the present game example, by placing a predetermined object at the designated position (step S30), an image of the object is generated at a position on the television image corresponding to the designated position. Therefore, the player can easily confirm the position where the input has been performed on the input surface of the touch panel 52, and can easily confirm the graphic drawn on the input surface. The player can draw a three-dimensional figure in the virtual space by drawing a point or a line on the input surface. Further, in the present game example, the object is generated so as to represent a locus of each designated position determined by each input position (input position) continuously input to the input surface (step S30). Therefore, an image representing the locus is generated and displayed on the television 2. Thereby, the player can easily confirm the line drawn on the touch panel 52. In addition, since the displayed images are different depending on whether the player inputs a point with respect to the input surface or when inputting with a line, the game apparatus more accurately reflects the input on the input surface. Can be displayed.
なお、本ゲーム例においては、プレイヤが面201の姿勢(端末装置7の姿勢)を確認しやすくするべく、面201が表示される。さらに、プレイヤが面201と図形との奥行き関係を把握しやすくするべく、面201は半透明のオブジェクトとして生成される。ただし、他の実施形態においては、面201は表示されなくてもよい(透明であるとして取り扱われてもよい)し、不透明のオブジェクトとして生成されてもよい。 In this game example, the surface 201 is displayed so that the player can easily confirm the posture of the surface 201 (the posture of the terminal device 7). Furthermore, the surface 201 is generated as a translucent object so that the player can easily understand the depth relationship between the surface 201 and the figure. However, in other embodiments, the surface 201 may not be displayed (may be treated as being transparent) or may be generated as an opaque object.
ステップS5においては、端末用画像が上記ゲーム制御処理に基づいて生成される。第2のゲーム例においても端末用画像の具体的な生成方法は第1のゲーム例と同様である。なお、本ゲーム例では、仮想空間において面201が設定される領域を表す画像が端末用画像として生成される。具体的には、タッチパネル52の入力面と面201とがLCD51の画面上で一致するように端末用画像が生成される。これによって、面201の画像が端末装置7に表示される(図21等参照)。なお、テレビ用画像と同様に、端末用画像には、ステップS30で配置されたオブジェクトの画像が含まれる。したがって、プレイヤは、端末装置7の画面を見ることによっても、入力面上に描いた図形を確認することができる。また、端末用画像においては、面201は表示されなくてもよいし、半透明あるいは不透明のオブジェクトとして生成されてもよい。上記ステップS5の次にステップS6の処理が実行される。 In step S5, a terminal image is generated based on the game control process. Also in the second game example, the specific method for generating the terminal image is the same as in the first game example. In this game example, an image representing an area where the surface 201 is set in the virtual space is generated as a terminal image. Specifically, the terminal image is generated so that the input surface of the touch panel 52 and the surface 201 coincide on the screen of the LCD 51. Thereby, the image of the surface 201 is displayed on the terminal device 7 (see FIG. 21 and the like). Similar to the television image, the terminal image includes the image of the object arranged in step S30. Therefore, the player can also confirm the graphic drawn on the input surface by looking at the screen of the terminal device 7. In the terminal image, the surface 201 may not be displayed, or may be generated as a translucent or opaque object. Following step S5, the process of step S6 is executed.
なお、本ゲーム例においては、テレビ用画像(および端末用画像)において、指定位置を表す画像を生成するために、仮想空間において指定位置にオブジェクトを配置することとした。ここで、指定位置を表す画像はどのような方法で生成されてもよい。例えば、他の実施形態においては、ゲーム装置3は、指定位置に対応するテレビ用画像(および端末用画像)上の位置を算出し、当該位置に所定の画像を配置することによって、指定位置を表す画像を生成してもよい。 In this game example, in order to generate an image representing a designated position in a television image (and a terminal image), an object is arranged at the designated position in the virtual space. Here, the image representing the designated position may be generated by any method. For example, in another embodiment, the game apparatus 3 calculates the position on the television image (and the terminal image) corresponding to the specified position, and places the predetermined image at the position, thereby determining the specified position. An image to represent may be generated.
上記ステップS4およびS5の処理によれば、CPU10は、面201の姿勢と独立して視線方向が設定されるテレビ用仮想カメラを用いてテレビ用画像を生成し、面201との位置関係が一定となるように(より具体的には、面201に対して視線方向が略垂直となるように)設定される端末用仮想カメラを用いて端末用画像を生成する。したがって、プレイヤが端末装置7の姿勢を変化させた場合、テレビ2に表示される画像においては視線方向が変化しない一方、端末装置7に表示される画像においては当該姿勢に応じて視線方向が変化することになる(図20〜図23等)。これによれば、端末装置7においては面201の姿勢が一定として表示されるので、面201上の位置を指定する操作が容易になる。また、テレビ2においては面201の姿勢が変化して表示されるので、仮想空間内における面201の姿勢を容易に把握することができる。すなわち、本ゲーム例によれば、プレイヤは、端末装置7を用いて面201上の位置を指定する操作を容易に行うことができるとともに、テレビ2の画面を見ることによって面201の姿勢を容易に確認することができるので、3次元の仮想空間内の位置を容易に指定することができる。 According to the processing in steps S4 and S5, the CPU 10 generates a television image using a television virtual camera in which the viewing direction is set independently of the orientation of the surface 201, and the positional relationship with the surface 201 is constant. The terminal image is generated using the terminal virtual camera that is set so that the line-of-sight direction is substantially perpendicular to the surface 201 (more specifically, the surface 201 is substantially perpendicular). Therefore, when the player changes the posture of the terminal device 7, the line-of-sight direction does not change in the image displayed on the television 2, while the line-of-sight direction changes in the image displayed on the terminal device 7 according to the posture. (FIGS. 20 to 23, etc.). According to this, since the orientation of the surface 201 is displayed as being constant in the terminal device 7, an operation for designating the position on the surface 201 is facilitated. Further, since the posture of the surface 201 is changed and displayed on the television 2, the posture of the surface 201 in the virtual space can be easily grasped. That is, according to the present game example, the player can easily perform an operation of designating a position on the surface 201 using the terminal device 7, and can easily make the posture of the surface 201 by looking at the screen of the television 2. Therefore, the position in the three-dimensional virtual space can be easily specified.
第2のゲーム例において、ステップS6〜S8の処理は第1のゲーム例と同様である。また、第2のゲーム例においても第1のゲーム例と同様、ステップS2〜S8の一連の処理は、ステップS8でゲームを終了すると判定されるまで繰り返し実行される。 In the second game example, the processes in steps S6 to S8 are the same as in the first game example. Also in the second game example, similar to the first game example, the series of processes in steps S2 to S8 is repeatedly executed until it is determined in step S8 that the game is to be ended.
以上のように、第2のゲーム例におけるゲーム処理によれば、端末装置7のタッチパネル52に対する入力によって、仮想空間内の面201上の位置を指定される(ステップS26)とともに、端末装置7の姿勢に応じて面201の姿勢が変化する(ステップS22)。これによれば、プレイヤは、面201の姿勢を変化させつつ、タッチパネル52を用いて位置を指定することで、3次元の仮想空間における位置を指定することができる。このように、本ゲーム例によれば、タッチパネル52という平面的な入力面を有する入力装置を用いて、3次元空間における位置を容易に入力することができる。これによれば、例えば上記実施形態のように、プレイヤは、タッチパネル52に対して点や線の入力を行うとともに、端末装置7の姿勢を適宜変化させることで、仮想空間において3次元的な絵を描くことも可能となる。 As described above, according to the game process in the second game example, the position on the surface 201 in the virtual space is designated by the input to the touch panel 52 of the terminal device 7 (step S26), and the terminal device 7 The posture of the surface 201 changes according to the posture (step S22). According to this, the player can designate a position in the three-dimensional virtual space by designating the position using the touch panel 52 while changing the posture of the surface 201. Thus, according to the present game example, the position in the three-dimensional space can be easily input using the input device having a flat input surface called the touch panel 52. According to this, for example, as in the above-described embodiment, the player inputs a point or a line to the touch panel 52 and appropriately changes the posture of the terminal device 7 to appropriately change the three-dimensional picture in the virtual space. It is also possible to draw.
(第2のゲーム例の変形例)
上記第2のゲーム例においては、端末装置7の姿勢に応じて面201の姿勢が変化したが、他の実施形態においては、他の方法で面201を移動させてもよい。以下、図29〜図32を参照して、面201の移動方法に関する変形例について説明する。
(Modification of the second game example)
In the second game example, the posture of the surface 201 is changed according to the posture of the terminal device 7, but in another embodiment, the surface 201 may be moved by other methods. Hereinafter, with reference to FIG. 29 to FIG. 32, a modified example regarding the moving method of the surface 201 will be described.
図29は、上記第2のゲーム例の変形例におけるゲーム制御処理の流れを示すフローチャートである。なお、図29においては、図25に示す処理と同じ処理については同じステップ番号を付し、詳細な説明を省略する。 FIG. 29 is a flowchart showing the flow of the game control process in a modification of the second game example. In FIG. 29, the same processes as those shown in FIG. 25 are denoted by the same step numbers, and detailed description thereof is omitted.
本変形例においては、ステップS21の次にステップS51の処理が実行される。ステップS51において、CPU10は、端末装置7の姿勢に応じて面201の位置および姿勢を算出する。すなわち、CPU10は、端末装置7の姿勢に対応するように面201の姿勢を制御するとともに、端末装置7の姿勢に応じて面201の位置を制御する。ここで、面201の姿勢は、上記第2のゲーム例と同様、端末装置7の姿勢に基づいて制御される。また、面201の位置は、面201外の位置を回転の中心として面201が回転移動するように、面201の姿勢に応じて制御される。 In this modification, the process of step S51 is executed after step S21. In step S <b> 51, the CPU 10 calculates the position and orientation of the surface 201 according to the orientation of the terminal device 7. That is, the CPU 10 controls the posture of the surface 201 so as to correspond to the posture of the terminal device 7 and controls the position of the surface 201 according to the posture of the terminal device 7. Here, the posture of the surface 201 is controlled based on the posture of the terminal device 7 as in the second game example. Further, the position of the surface 201 is controlled according to the posture of the surface 201 so that the surface 201 rotates and moves with the position outside the surface 201 as the center of rotation.
図30は、本変形例における面201の移動を示す図である。図30において、点Pcは、面201の回転の中心点であり、ゲーム空間に固定的に設定される。なお、図30においては、点Pcは、面201に関して端末用仮想カメラ205と同じ側に設定されている。端末装置7の姿勢が変化する場合、面201は、図30に示すように、姿勢の変化とともに、基準点Pcを中心に回転するように位置が変化する。具体的には、面201の位置は、基準点Pcから面201への垂線の長さが予め定められた所定値となるように(つまり、基準点Pcからの距離が一定となるように)算出される。このように、本変形例では、点Pcを中心とした球面上を回転移動するように面201の位置および姿勢が変化する(図30参照)。したがって、プレイヤは、端末装置7の姿勢を変化させつつタッチパネル52に対して入力を行うことで、球の内側面に対して絵を描いているような感覚を得ることができる。 FIG. 30 is a diagram illustrating movement of the surface 201 in the present modification. In FIG. 30, a point Pc is a center point of rotation of the surface 201, and is fixedly set in the game space. In FIG. 30, the point Pc is set on the same side as the terminal virtual camera 205 with respect to the plane 201. When the attitude of the terminal device 7 changes, the position of the surface 201 changes so as to rotate around the reference point Pc as the attitude changes, as shown in FIG. Specifically, the position of the surface 201 is such that the length of the perpendicular line from the reference point Pc to the surface 201 becomes a predetermined value (that is, the distance from the reference point Pc is constant). Calculated. Thus, in this modification, the position and orientation of the surface 201 change so as to rotate on the spherical surface centered on the point Pc (see FIG. 30). Therefore, the player can obtain a feeling of drawing a picture on the inner surface of the sphere by inputting to the touch panel 52 while changing the attitude of the terminal device 7.
ステップS51の具体的な処理としては、CPU10は、まず、上記ステップS22と同様の方法によって面201の姿勢を算出する。次に、CPU10は、算出された姿勢と、上記基準点Pcの位置とに基づいて、上記垂線の長さが予め定められた所定値となるように面201の位置を算出する。例えば、基準点Pcの座標を(ES,ET,EU)とし、基準点Pcから面201までの距離をkとすると、面201の位置Pd(DS,DT,DU)は次の式(2)に従って算出される。
DS=−k×CS+ES
DT=−k×CT+ET
DU=−k×CU+EU …(2)
上式(2)においては、変数面座標系におけるu軸の正方向を向く単位ベクトルC(図30参照)の各成分を(CS,CT,CU)としている。算出された面201の位置および姿勢を表すデータは、メインメモリに記憶される。ステップS51の次にステップS52の処理が実行される。
As a specific process in step S51, the CPU 10 first calculates the attitude of the surface 201 by the same method as in step S22. Next, the CPU 10 calculates the position of the surface 201 so that the length of the perpendicular becomes a predetermined value based on the calculated posture and the position of the reference point Pc. For example, when the coordinates of the reference point Pc are (ES, ET, EU) and the distance from the reference point Pc to the surface 201 is k, the position Pd (DS, DT, DU) of the surface 201 is expressed by the following equation (2). Is calculated according to
DS = -k x CS + ES
DT = −k × CT + ET
DU = −k × CU + EU (2)
In the above equation (2), each component of the unit vector C (see FIG. 30) facing the positive direction of the u-axis in the variable plane coordinate system is (CS, CT, CU). Data representing the calculated position and orientation of the surface 201 is stored in the main memory. Following step S51, the process of step S52 is executed.
なお、本変形例においては、上記基準点Pcが面201に関して端末用仮想カメラ205と同じ側に設定されているものとしたが、基準点の位置はどこであってもよい。図31および図32は、他の実施形態における面201の移動を示す図である。他の実施形態においては、図31に示すように、基準点Pcは、面201に関して端末用仮想カメラ205と反対側に設定されてもよい。これによれば、プレイヤは、端末装置7の姿勢を変化させつつタッチパネル52に対して入力を行うことで、球の外側面に対して絵を描いているような感覚を得ることができる。なお、図31に示す場合においては、基準点Pcから面201の位置Pdまでの向きと、ベクトルCの向きとが同じであるので、上式(2)における“−k”を“k”に変更することで、面201の位置Pdを算出することができる。また、k=0の場合には、上記第2のゲーム例のように、面201は位置Pd(基準点Pc)を中心に回転する(図27参照)。 In the present modification, the reference point Pc is set on the same side as the terminal virtual camera 205 with respect to the plane 201, but the position of the reference point may be anywhere. 31 and 32 are diagrams showing movement of the surface 201 in another embodiment. In another embodiment, as illustrated in FIG. 31, the reference point Pc may be set on the side opposite to the terminal virtual camera 205 with respect to the surface 201. According to this, the player can obtain a sensation of drawing a picture on the outer surface of the sphere by inputting to the touch panel 52 while changing the attitude of the terminal device 7. In the case shown in FIG. 31, since the direction from the reference point Pc to the position Pd of the surface 201 is the same as the direction of the vector C, “−k” in the above equation (2) is changed to “k”. By changing, the position Pd of the surface 201 can be calculated. When k = 0, the surface 201 rotates around the position Pd (reference point Pc) as in the second game example (see FIG. 27).
また、他の実施形態においては、図32に示すように、所定の回転方向(図32では、上下方向を軸とした回転方向)に関しては面201が基準点Pcを中心として回転移動を行い、他の方向に関しては面201が平行移動を行うようにしてもよい。これによれば、プレイヤは、円柱の内側側面に対して絵を描いているような感覚を得ることができる。なお、図32における面201の平行移動は、端末装置7の姿勢の変化に応じて行われてもよいし、後述するステップS52における方向入力操作に応じて行われてもよい。 In another embodiment, as shown in FIG. 32, the surface 201 rotates around the reference point Pc in a predetermined rotation direction (in FIG. 32, the rotation direction about the vertical direction). The surface 201 may be moved in parallel with respect to other directions. According to this, the player can obtain a feeling of drawing a picture on the inner side surface of the cylinder. Note that the parallel movement of the surface 201 in FIG. 32 may be performed according to a change in the attitude of the terminal device 7, or may be performed according to a direction input operation in step S52 described later.
ステップS52において、CPU10は、端末装置7に対する方向入力操作に基づいて面201を移動させる。上記方向入力操作は、どのような方法で行われてもよいが、例えば、アナログスティック53や十字ボタン54Aに対する入力操作であってもよい。具体的には、面201は、上下左右前後の方向入力操作に応じて、面201の上下左右前後の方向に移動するように制御される。すなわち、CPU10は、ステップS2で取得した端末操作データ101に基づいて、方向入力操作によって指示された方向を判断する。そして、面201の位置および姿勢を表すデータをメインメモリから読み出し、上記指示された方向に応じた方向へ面201を移動させる。メインメモリに記憶される上記データは、移動後の面201の位置を表すように更新される。ステップS52の次にステップS53の処理が実行される。 In step S <b> 52, the CPU 10 moves the surface 201 based on a direction input operation on the terminal device 7. The direction input operation may be performed by any method, but may be an input operation to the analog stick 53 or the cross button 54A, for example. Specifically, the surface 201 is controlled to move in the up / down / left / right / front / rear direction of the surface 201 in response to a direction input operation in the up / down / left / right / front / back direction. That is, the CPU 10 determines the direction instructed by the direction input operation based on the terminal operation data 101 acquired in step S2. Then, data representing the position and orientation of the surface 201 is read from the main memory, and the surface 201 is moved in a direction corresponding to the instructed direction. The data stored in the main memory is updated to represent the position of the surface 201 after movement. Following step S52, the process of step S53 is executed.
上記ステップS52の処理によれば、端末装置7に対する方向入力操作によって面201を自由に平行移動させることができる。なお、他の実施形態においては、ステップS52においてCPU10は、面201を(平行移動ではなく)回転移動させるようにしてもよい。例えば、CPU10は、図30〜図32に示したように、球面上あるいは円柱の側面上を面201が移動するように面201を制御してもよい。 According to the process of step S52, the surface 201 can be freely translated by a direction input operation on the terminal device 7. In other embodiments, in step S52, the CPU 10 may rotate the surface 201 (instead of translation). For example, as illustrated in FIGS. 30 to 32, the CPU 10 may control the surface 201 so that the surface 201 moves on a spherical surface or a side surface of a cylinder.
ステップS53において、CPU10は、面201の位置および姿勢に基づいてテレビ用仮想カメラを制御する。テレビ用仮想カメラは、面201が視野範囲に含まれるように位置および姿勢が制御されればどのように制御されてもよい。例えば、テレビ用仮想カメラの位置は、視線方向が面201の方を向き、面201から所定距離となるように制御されてもよい。また、テレビ用仮想カメラの姿勢は変化しない、すなわち、テレビ用仮想カメラは平行移動するように制御されてもよい。これによれば、上記第2のゲーム例と同様、プレイヤは、仮想空間における面201の姿勢をテレビ用画像で確認することができる。ステップS53の具体的な処理としては、CPU10は、面201の位置および姿勢を表すデータをメインメモリから読み出し、面201の位置に応じてテレビ用仮想カメラの位置および姿勢を算出する。算出された位置および姿勢を表すテレビ用カメラデータはメインメモリに記憶される。このとき、ステップS4の処理においては、上記テレビ用カメラデータを用いてテレビ用画像が生成される。ステップS53の次にステップS23の処理が実行される。ステップS23の処理以降については、上記第2のゲーム例と同様の処理が実行される。 In step S <b> 53, the CPU 10 controls the television virtual camera based on the position and orientation of the surface 201. The television virtual camera may be controlled in any way as long as the position and orientation are controlled so that the surface 201 is included in the visual field range. For example, the position of the virtual camera for television may be controlled such that the line-of-sight direction faces the surface 201 and is a predetermined distance from the surface 201. Further, the attitude of the television virtual camera does not change, that is, the television virtual camera may be controlled to move in parallel. According to this, as in the second game example, the player can confirm the posture of the surface 201 in the virtual space with the television image. As a specific process of step S53, the CPU 10 reads data representing the position and orientation of the surface 201 from the main memory, and calculates the position and orientation of the television virtual camera according to the position of the surface 201. Television camera data representing the calculated position and orientation is stored in the main memory. At this time, in the process of step S4, a television image is generated using the television camera data. Following step S53, the process of step S23 is executed. After the process of step S23, the same process as in the second game example is executed.
なお、他の実施形態においては、テレビ用仮想カメラは、端末装置7に対する方向入力操作に従って制御されてもよい。すなわち、CPU10は、方向入力操作に応じて、テレビ用仮想カメラを平行移動、回転移動、または回転させるようにしてもよい。これによれば、上述した図形移動処理によって図形を回転させる場合と同様、プレイヤはいろいろな向きから図形を見ることができ、図形の形状を容易に確認することができる。 In other embodiments, the television virtual camera may be controlled in accordance with a direction input operation on the terminal device 7. That is, the CPU 10 may translate, rotate, or rotate the television virtual camera in accordance with the direction input operation. According to this, the player can see the figure from various directions as in the case of rotating the figure by the above-described figure movement process, and can easily confirm the shape of the figure.
(指定位置を用いたゲーム処理に関する変形例)
上記第2のゲーム例においては、上記指定位置を入力として用いるゲームとして、3次元仮想空間に絵を描くことができるお絵かきゲームを例として説明した。すなわち、上記第2のゲーム例においては、上記指定位置を入力としたゲーム処理の例として、指定位置にオブジェクトを配置する処理(ステップS30)を説明した。ここで、指定位置を入力として実行されるゲーム処理は、どのような処理であってもよく、例えば次のようなゲーム例が考えられる。
(Modification regarding game processing using specified position)
In the second game example, the drawing game that can draw a picture in the three-dimensional virtual space has been described as an example of the game using the designated position as an input. That is, in the second game example, the process of placing an object at the designated position (step S30) has been described as an example of the game process using the designated position as an input. Here, the game process executed with the designated position as an input may be any process, and for example, the following game examples are conceivable.
図33は、見本と同じになるように図形を描くゲームにおいて、テレビ2に表示されるゲーム画像を示す図である。図33に示すように、テレビ2には、面201および見本オブジェクト221が表示される。見本オブジェクト221は、プレイヤが描く図形の見本を表すオブジェクトであり、ゲームプログラムにおいて複数種類の見本オブジェクトが用意される。なお、端末装置7に表示される画像は上記第2のゲーム例と同様である。このゲームにおいては、プレイヤは、上記第2のゲーム例と同様に端末装置7を用いて、見本オブジェクト221と同じになるように、仮想空間内に線(指定位置の軌跡を表すオブジェクト222)を描く。このとき、CPU10は、見本オブジェクト221と、プレイヤによる入力に応じて生成されるオブジェクト222との類似度を算出したり、当該類似度に基づいて得点を算出したりするゲーム処理を実行してもよい。このように、ゲーム装置3は、入力された指定位置を表す軌跡を入力とするゲーム処理を実行してもよい。 FIG. 33 is a diagram showing a game image displayed on the television 2 in a game in which a figure is drawn so as to be the same as the sample. As shown in FIG. 33, a surface 201 and a sample object 221 are displayed on the television 2. The sample object 221 is an object representing a sample of a graphic drawn by the player, and a plurality of types of sample objects are prepared in the game program. The image displayed on the terminal device 7 is the same as that in the second game example. In this game, the player uses the terminal device 7 in the same manner as in the second game example to draw a line (object 222 representing the locus of the specified position) in the virtual space so as to be the same as the sample object 221. Draw. At this time, the CPU 10 may execute a game process for calculating the similarity between the sample object 221 and the object 222 generated in response to an input by the player, or calculating a score based on the similarity. Good. As described above, the game apparatus 3 may execute a game process in which the locus representing the input designated position is input.
図34は、3次元の仮想空間内に配置されたオブジェクト(コイン)225を端末装置に対する操作によって指定するゲームにおいて、テレビ2に表示されるゲーム画像を示す図である。図34に示すように、テレビ2には、面201およびコイン225が表示される。なお、端末装置7に表示される画像は上記第2のゲーム例と同様である。このゲームにおいては、プレイヤは、上記第2のゲーム例と同様の方法で仮想空間内における位置を指定する。そして、コイン225の位置を指定することでコイン225を取得することができる。例えば、プレイヤは、コイン225を正確に指定したり、制限時間内にコイン225を取得する数を競ったりしてゲームを行う。この場合、CPU10は、指定位置を入力として実行されるゲーム処理として、指定位置がコイン225の位置であるか否かを判定し、指定位置がコイン225の位置である場合、取得されたコイン225の枚数をカウントする処理を実行する。このように、ゲーム処理は、上記第2のゲーム例のような指定位置に画像を表示する処理に限らず、仮想空間内のオブジェクトを指定(選択)する処理であってもよい。 FIG. 34 is a diagram showing a game image displayed on the television 2 in a game in which an object (coin) 225 arranged in a three-dimensional virtual space is designated by an operation on the terminal device. As shown in FIG. 34, a surface 201 and a coin 225 are displayed on the television 2. The image displayed on the terminal device 7 is the same as that in the second game example. In this game, the player designates a position in the virtual space in the same manner as in the second game example. Then, the coin 225 can be acquired by designating the position of the coin 225. For example, the player plays the game by correctly specifying the coin 225 or competing for the number of coins 225 to be acquired within the time limit. In this case, the CPU 10 determines whether or not the designated position is the position of the coin 225 as a game process executed with the designated position as an input. The process of counting the number of sheets is executed. Thus, the game process is not limited to the process of displaying an image at the designated position as in the second game example, but may be a process of designating (selecting) an object in the virtual space.
図35および図36は、プレイヤが描いた図形に基づいてオブジェクトが生成されるゲームにおいて、テレビ2に表示されるゲーム画像を示す図である。このゲームにおいては、プレイヤはまず、上記第2のゲーム例と同様の操作によって、仮想空間内に図形を生成する。図35においては、プレイヤの入力による図形を表すオブジェクト227が生成されて表示される。ここで、CPU10は、指定位置を入力として実行されるゲーム処理として、上記図形を形成する各指定位置に基づいて3次元のオブジェクトを生成する。例えば、CPU10は、各指定位置の軌跡に基づいて面を設定することで、3次元のオブジェクトを生成する。例えば、軌跡によって閉曲線が形成される場合、当該閉曲線を周とする面が設定されてもよい。図36は、図35に示すオブジェクト227に基づいて、3次元のオブジェクト228が生成される場合におけるゲーム画像を示す。このように、ゲームシステム1は、指定位置に基づいて3次元のオブジェクトを生成するゲーム処理を実行するものであってもよい。なお、このとき、生成されたオブジェクトがゲームにおいて用いられてもよい。例えば、生成されたオブジェクトをプレイヤキャラクタがアイテムとして使用することができたり、生成されたオブジェクトをプレイヤキャラクタとして使用することができたりしてもよい。 35 and 36 are diagrams showing game images displayed on the television 2 in a game in which an object is generated based on a graphic drawn by a player. In this game, the player first generates a figure in the virtual space by the same operation as in the second game example. In FIG. 35, an object 227 representing a figure input by the player is generated and displayed. Here, the CPU 10 generates a three-dimensional object based on each designated position forming the graphic as a game process executed with the designated position as an input. For example, the CPU 10 generates a three-dimensional object by setting a surface based on the locus of each designated position. For example, when a closed curve is formed by the trajectory, a surface having the closed curve as a circumference may be set. FIG. 36 shows a game image when a three-dimensional object 228 is generated based on the object 227 shown in FIG. As described above, the game system 1 may execute a game process for generating a three-dimensional object based on a designated position. At this time, the generated object may be used in the game. For example, the generated object may be used as an item by the player character, or the generated object may be used as the player character.
上記の他、指定位置を入力として実行されるゲーム処理は、どのような処理であってもよい。例えば、他の実施形態においては、CPU10は、指定位置の軌跡に応じてプレイヤキャラクタを移動させるゲーム処理を実行してもよい。すなわち、ゲーム装置3において実行されるゲームは、プレイヤが指定位置の軌跡を入力すると、仮想空間内のプレイヤキャラクタが当該軌跡に沿って移動するようなゲームであってもよい。 In addition to the above, the game process executed with the designated position as an input may be any process. For example, in another embodiment, the CPU 10 may execute a game process for moving the player character according to the locus of the specified position. That is, the game executed in the game apparatus 3 may be a game in which the player character in the virtual space moves along the locus when the player inputs the locus of the specified position.
[8.第3のゲーム例]
以下、図37〜図42を参照して、本実施形態のゲームシステム1において実行される第3のゲーム例について説明する。第3のゲーム例では、プレイヤがハンドヘルドデバイス9を操作して仮想のゲーム空間内のオブジェクトを移動させるゲームを実行するゲーム処理について説明する。
[8. Third game example]
Hereinafter, a third game example executed in the game system 1 of the present embodiment will be described with reference to FIGS. 37 to 42. In the third game example, a game process will be described in which a player operates a handheld device 9 to execute a game in which an object in a virtual game space is moved.
なお、第3のゲーム例においては、ゲームシステム1が端末装置7に代えて、携帯型ゲーム機であるハンドヘルドデバイス9を有するものとして説明を行う。ハンドヘルドデバイス9は、端末装置7と同様、プレイヤが把持可能な装置であり、端末装置7と同様のタッチパネル52を備えている。つまり、プレイヤが使用する操作装置は、端末装置7に限らず、プレイヤが把持可能な可搬型の装置であり、入力面に対する入力が可能な操作装置であればどのようなものであってもよい。 In the third game example, the game system 1 will be described as having a handheld device 9 that is a portable game machine instead of the terminal device 7. Like the terminal device 7, the handheld device 9 is a device that can be held by the player, and includes a touch panel 52 similar to the terminal device 7. That is, the operating device used by the player is not limited to the terminal device 7, and is a portable device that can be held by the player, and any operating device that can input to the input surface may be used. .
なお、以下に示すゲーム例においては、コントローラ5はゲーム操作に使用されず、コントローラ5からのコントローラ操作データはゲーム処理に用いられない。つまり、ゲームシステム1は、コントローラ5を有しない構成であってもよい。また、他の実施形態においては、ゲーム処理は、ハンドヘルドデバイス9とコントローラ5との両方をゲーム操作に用いるものであってもよい。 In the game example shown below, the controller 5 is not used for game operations, and the controller operation data from the controller 5 is not used for game processing. That is, the game system 1 may be configured without the controller 5. In other embodiments, the game process may use both the handheld device 9 and the controller 5 for game operations.
まず、第3のゲーム例におけるゲームの概要について説明する。このゲームは、ハンドヘルドデバイス9を操作することによってゲーム空間内においてオブジェクト(手裏剣)を飛ばすゲームである。プレイヤは、ハンドヘルドデバイス9の姿勢を変化させるとともに、タッチパネル52上に線を描く操作によって、手裏剣を発射する方向(および速さ)を指示することができる。なお、本実施例において、線を描く操作とは、指やタッチペンによってタッチパネルやタッチパッド上をタッチして、タッチしたまま線を描くような動作で入力位置を面上で動かす操作を意味し、実際に線が描画される必要はない。 First, an outline of the game in the third game example will be described. This game is a game in which an object (shuriken) is skipped in the game space by operating the handheld device 9. The player can change the posture of the handheld device 9 and can instruct the direction (and speed) of firing the shuriken by an operation of drawing a line on the touch panel 52. In this embodiment, the operation of drawing a line means an operation of touching the touch panel or touch pad with a finger or a touch pen and moving the input position on the surface by an operation of drawing a line while touching, Actual lines need not be drawn.
図37は、第3のゲーム例におけるテレビ2の画面とハンドヘルドデバイス9とを示す図である。図37においては、テレビ2およびハンドヘルドデバイス9の下側LCD(タッチパネル52が設けられるLCD)には、ゲーム画像としてゲーム空間の画像が表示されている。テレビ2には、手裏剣301、制御面302、および標的303が表示されている。下側LCDには、制御面302(および手裏剣301)が表示されている。第3のゲーム例においては、プレイヤは、ハンドヘルドデバイス9を用いた操作によって手裏剣301を飛ばして標的303に当てて遊ぶ。 FIG. 37 is a diagram showing the screen of the television 2 and the handheld device 9 in the third game example. In FIG. 37, an image of the game space is displayed as a game image on the lower LCD of the television 2 and the handheld device 9 (LCD provided with the touch panel 52). On the television 2, a shuriken 301, a control surface 302, and a target 303 are displayed. A control surface 302 (and shuriken 301) is displayed on the lower LCD. In the third example game, the player plays by hitting the shuriken 301 and hitting the target 303 by an operation using the handheld device 9.
手裏剣301を飛ばす場合、プレイヤは、まず、ハンドヘルドデバイス9の姿勢を操作することによって制御面302の姿勢を変化させて所望の姿勢にする。さらに、プレイヤは、図37に示すように、タッチパネル52上に線を描く操作を行う。この操作によって制御面302上での方向が決定され、この方向に手裏剣301が発射される。第3のゲーム例においては、プレイヤは、これらの操作によって手裏剣301を所望の方向へ飛ばすことができる。なお、図37では、ハンドヘルドデバイス9を縦向きにして使用する様子を示しているが、ハンドヘルドデバイス9は横向きに使用されてもよく、任意の姿勢で使用されることができる。 When flying the shuriken 301, the player first changes the posture of the control surface 302 by operating the posture of the handheld device 9 to a desired posture. Furthermore, the player performs an operation of drawing a line on the touch panel 52 as shown in FIG. By this operation, the direction on the control surface 302 is determined, and the shuriken 301 is fired in this direction. In the third game example, the player can fly the shuriken 301 in a desired direction by these operations. Although FIG. 37 shows a state in which the handheld device 9 is used in a vertical orientation, the handheld device 9 may be used in a horizontal orientation and can be used in an arbitrary posture.
本実施形態においては、制御面302の姿勢はハンドヘルドデバイス9の姿勢に応じて決定される。図38は、ハンドヘルドデバイス9の姿勢と制御面302の姿勢との関係を示す図である。図38の表の上欄に示すように、ハンドヘルドデバイス9のタッチパネル52の入力面が水平となる場合、ゲーム空間において制御面302は水平に配置される。また、図38の表の中欄に示すように、ハンドヘルドデバイス9が前後方向を軸として回転した(具体的には、右側が下がるように傾いた)場合、制御面302は前後方向を軸として回転して(具体的には、右側が下がるように傾いて)配置される。さらに、図38の表の下欄に示すように、ハンドヘルドデバイス9が左右方向を軸として回転した(具体的には、後側が下がるように傾いた)場合、制御面302は左右方向に回転して(具体的には、後側が下がるように傾いて)配置される。なお、図示していないが、ハンドヘルドデバイス9が上下方向を軸として回転した場合には、制御面302も上下方向を軸として回転して配置される。このように、制御面302の姿勢は、ハンドヘルドデバイス9の姿勢に対応するように制御される。なお、本実施形態においては、制御面302の位置は、ゲーム空間における所定位置に固定される。 In the present embodiment, the attitude of the control surface 302 is determined according to the attitude of the handheld device 9. FIG. 38 is a diagram illustrating the relationship between the posture of the handheld device 9 and the posture of the control surface 302. As shown in the upper column of the table of FIG. 38, when the input surface of the touch panel 52 of the handheld device 9 is horizontal, the control surface 302 is horizontally disposed in the game space. Also, as shown in the middle column of FIG. 38, when the handheld device 9 is rotated about the front-rear direction (specifically, tilted so that the right side is lowered), the control surface 302 is about the front-rear direction. It is rotated (specifically, tilted so that the right side is lowered). Furthermore, as shown in the lower column of the table of FIG. 38, when the handheld device 9 is rotated about the left-right direction (specifically, the rear side is tilted so that the rear side is lowered), the control surface 302 is rotated left-right. (Specifically, the rear side is inclined so as to be lowered). Although not shown, when the handheld device 9 rotates about the vertical direction, the control surface 302 is also rotated and arranged about the vertical direction. Thus, the attitude of the control surface 302 is controlled to correspond to the attitude of the handheld device 9. In the present embodiment, the position of the control surface 302 is fixed at a predetermined position in the game space.
手裏剣301の発射方向は、上記のようにして姿勢が決定された制御面302上において方向を決定することで決められる。つまり、3次元のゲーム空間内における姿勢が設定された制御面302上において方向を決定することによって、3次元のゲーム空間内での方向が決定されることとなる。ここで、制御面302上における方向は、ハンドヘルドデバイス9のタッチパネル52に入力される線(入力軌跡)に基づいて算出される。 The firing direction of the shuriken 301 is determined by determining the direction on the control surface 302 whose posture is determined as described above. That is, the direction in the three-dimensional game space is determined by determining the direction on the control surface 302 in which the posture in the three-dimensional game space is set. Here, the direction on the control surface 302 is calculated based on a line (input locus) input to the touch panel 52 of the handheld device 9.
図39は、ハンドヘルドデバイス9のタッチパネル52に線が描かれる様子を示す図である。また、図40は、図39に示す線がタッチパネル52に描かれた場合に制御面302上において算出される制御位置および制御方向を示す図である。図39に示すように、ハンドヘルドデバイス9の下側LCDには、制御面302が表示される。ここでは、タッチパネル52の入力面と制御面302とが画面上において一致する(すなわち、画面いっぱいに制御面302が表示される)ように制御面302が表示される。 FIG. 39 is a diagram illustrating a state in which a line is drawn on the touch panel 52 of the handheld device 9. FIG. 40 is a diagram showing control positions and control directions calculated on the control surface 302 when the lines shown in FIG. 39 are drawn on the touch panel 52. As shown in FIG. 39, a control surface 302 is displayed on the lower LCD of the handheld device 9. Here, the control surface 302 is displayed so that the input surface of the touch panel 52 and the control surface 302 coincide on the screen (that is, the control surface 302 is displayed on the entire screen).
手裏剣301を発射する場合、プレイヤは、図39に示すように、タッチパネル52に対して線を描く操作を行う。なお、本実施形態においては、タッチパネル52に対する入力が行われている場合、入力位置に手裏剣301が表示される。なお、図39ではプレイヤによって描かれた線を点線で表しているが、この線は実際には表示されなくてもよい。 When firing the shuriken 301, the player performs an operation of drawing a line on the touch panel 52 as shown in FIG. In the present embodiment, when an input is performed on the touch panel 52, the shuriken 301 is displayed at the input position. In FIG. 39, the line drawn by the player is represented by a dotted line, but this line may not actually be displayed.
プレイヤによって線が描かれる場合、すなわち、タッチパネル52に対する入力があった場合、ゲーム装置3は、入力位置に対応する制御面302上の位置(指定位置。第3ゲーム例では、「制御位置」と呼ぶ)を算出する。制御位置は、下側LCDの画面上において入力位置に対応する(制御面302上における)位置として算出される。図40において、点線は、入力面上に描かれた線に対応する(制御面302上における)線を示す。制御位置は、例えば図40に示す点P11〜P14のように、この線上の位置に算出される。なお、ゲーム装置3は、タッチパネル52に対する入力が行われる間(線が描かれる間)、制御位置の算出を繰り返し実行する。 When a line is drawn by the player, that is, when there is an input to the touch panel 52, the game apparatus 3 determines the position on the control surface 302 corresponding to the input position (designated position. In the third game example, “control position”. Calculated). The control position is calculated as a position (on the control surface 302) corresponding to the input position on the lower LCD screen. In FIG. 40, a dotted line indicates a line (on the control surface 302) corresponding to a line drawn on the input surface. The control position is calculated at a position on this line, for example, points P11 to P14 shown in FIG. Note that the game apparatus 3 repeatedly executes the calculation of the control position while an input to the touch panel 52 is performed (while a line is drawn).
タッチパネル52に対して線を描く入力が終了した場合、ゲーム装置3は、制御位置に基づいて制御方向(図40に示すベクトルv1)を特定する。制御方向は、描かれた線に対応する各制御位置によって表される方向となるように特定される。つまり、制御方向は大略的には線の方向を向くように算出される。詳細は後述するが、本実施形態においては、制御方向は、制御位置の平均速度を表すベクトルとして算出される。なお、制御面302は3次元のゲーム空間内に配置されているので、制御方向も3次元のゲーム空間内における3次元の方向として算出される。これによって、ゲーム空間内における手裏剣301の発射方向が決定されたことになる。 When the input of drawing a line to the touch panel 52 is completed, the game apparatus 3 specifies the control direction (vector v1 shown in FIG. 40) based on the control position. The control direction is specified to be a direction represented by each control position corresponding to the drawn line. That is, the control direction is calculated so as to face the direction of the line. Although details will be described later, in the present embodiment, the control direction is calculated as a vector representing the average speed of the control position. Since the control surface 302 is arranged in the three-dimensional game space, the control direction is also calculated as a three-dimensional direction in the three-dimensional game space. As a result, the firing direction of the shuriken 301 in the game space is determined.
上記制御方向が算出されると、手裏剣301が発射される。手裏剣301がゲーム空間内を移動する様子はテレビ2に表示される。本実施形態においては、手裏剣301の姿勢は、制御面302に応じた姿勢となるように決定される。したがって、手裏剣301は、制御面302の姿勢に応じた姿勢で、上記制御方向に向かって発射(移動)される。なお、発射された後における手裏剣301の挙動はどのように決定されてもよい。手裏剣301は、例えば、制御方向に向かって真っ直ぐに移動するように制御されてもよいし、仮想的に重力の影響を加えて時間と共に落下するようにしてもよい。また、回転によって軌道が曲がるようにしてもよい。手裏剣301の姿勢に応じた移動方向となるように(例えば、手裏剣301が右に傾いている場合には右に曲がり、左に傾いている場合には左に曲がるように)制御されてもよい。 When the control direction is calculated, the shuriken 301 is fired. A state in which the shuriken 301 moves in the game space is displayed on the television 2. In the present embodiment, the posture of the shuriken 301 is determined to be a posture corresponding to the control surface 302. Therefore, the shuriken 301 is fired (moved) in the control direction in a posture corresponding to the posture of the control surface 302. Note that the behavior of the shuriken 301 after being fired may be determined in any way. For example, the shuriken 301 may be controlled so as to move straight in the control direction, or may fall with time by virtually applying the influence of gravity. Further, the trajectory may be bent by rotation. The movement direction may be controlled according to the posture of the shuriken 301 (for example, turn right when the shuriken 301 is tilted to the right and turn left when the shuriken 301 is tilted to the left). .
以上のように、本実施形態においては、プレイヤは、ハンドヘルドデバイス9の姿勢によって制御面302の姿勢を指示し、タッチパネル52に入力される線によって制御面302上での方向を指示することができる。そして、手裏剣301は、指示された制御面302上での方向(制御方向)に移動するように制御される。したがって、本実施形態によれば、プレイヤは、一方の手でハンドヘルドデバイス9の姿勢を実際に調整し、もう一方の手でタッチパネル52に線で方向を入力するので、空間内で実際に方向を入力しているような直感的な操作で容易に方向を指示すことができる。本実施例においては特に、実際に手で画面に向かって手裏剣を放っているような感覚で操作をすることができる。また、ハンドヘルドデバイス9の姿勢の操作とタッチパネル52に対する入力操作とは、同時に並行して行うことができるので、プレイヤは3次元空間における方向を指示する操作を迅速に行うことができる。 As described above, in the present embodiment, the player can instruct the orientation of the control surface 302 by the orientation of the handheld device 9 and can instruct the direction on the control surface 302 by a line input to the touch panel 52. . The shuriken 301 is controlled to move in the direction (control direction) on the instructed control surface 302. Therefore, according to the present embodiment, the player actually adjusts the posture of the handheld device 9 with one hand and inputs the direction with a line to the touch panel 52 with the other hand. The direction can be easily indicated by an intuitive operation such as inputting. Particularly in this embodiment, the operation can be performed as if the shuriken is actually released toward the screen with the hand. In addition, since the posture operation of the handheld device 9 and the input operation on the touch panel 52 can be simultaneously performed in parallel, the player can quickly perform an operation of instructing a direction in the three-dimensional space.
(第3のゲーム例におけるゲーム処理)
次に、第3のゲーム例におけるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図41は、ゲーム処理において用いられる各種データを示す図である。図41において、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。図41に示すように、ゲーム装置3のメインメモリには、ゲームプログラム310、端末操作データ311、および処理用データ316が記憶される。なお、メインメモリには、図41に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。
(Game processing in the third game example)
Next, details of the game process in the third game example will be described. First, various data used in the game process will be described. FIG. 41 is a diagram showing various data used in the game process. 41 shows main data stored in the main memory (external main memory 12 or internal main memory 11e) of the game apparatus 3 in FIG. As shown in FIG. 41, the main memory of the game apparatus 3 stores a game program 310, terminal operation data 311 and processing data 316. In addition to the data shown in FIG. 41, the main memory stores data necessary for the game such as image data of various objects appearing in the game and sound data used for the game.
ゲームプログラム310は、第3のゲーム例におけるゲーム処理をゲーム装置3のコンピュータ(CPU10)に実行させるためのものである。ゲームプログラム310は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム310は、光ディスク4に代えて、ゲーム装置3の外部装置から(例えばインターネットを介して)取得されてもよい。また、ゲームプログラム310に含まれる一部(例えば、コントローラ5および/またはハンドヘルドデバイス9の姿勢を算出するためのプログラム)については、ゲーム装置3内に予め記憶されていてもよい。 The game program 310 is for causing the computer (CPU 10) of the game apparatus 3 to execute game processing in the third game example. A part or all of the game program 310 is read from the optical disc 4 and stored in the main memory at an appropriate timing after the game apparatus 3 is turned on. Note that the game program 310 may be obtained from an external device of the game apparatus 3 (for example, via the Internet) instead of the optical disc 4. Further, a part (for example, a program for calculating the attitude of the controller 5 and / or the handheld device 9) included in the game program 310 may be stored in the game apparatus 3 in advance.
端末操作データ311は、ハンドヘルドデバイス9に対するユーザの操作を表すデータである。端末操作データ311は、ハンドヘルドデバイス9から送信されてゲーム装置3において取得される。端末操作データ311は、加速度データ312、角速度データ313、入力位置データ314、および操作ボタンデータ315を含む。なお、メインメモリには、最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。 The terminal operation data 311 is data representing a user operation on the handheld device 9. The terminal operation data 311 is transmitted from the handheld device 9 and acquired by the game apparatus 3. The terminal operation data 311 includes acceleration data 312, angular velocity data 313, input position data 314, and operation button data 315. The main memory may store a predetermined number of terminal operation data in order from the latest (last acquired).
加速度データ312は、ハンドヘルドデバイス9が備える加速度センサによって検出された加速度(加速度ベクトル)を表すデータである。ここでは、加速度データ312は、所定の3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであればよい。 The acceleration data 312 is data representing the acceleration (acceleration vector) detected by the acceleration sensor included in the handheld device 9. Here, the acceleration data 312 represents a three-dimensional acceleration having accelerations in predetermined three-axis directions as components, but in other embodiments, represents acceleration in any one or more directions. If it is.
角速度データ313は、ハンドヘルドデバイス9が備えるジャイロセンサによって検出された角速度を表すデータである。ここでは、角速度データ313は、所定の3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回り角速度を表すものであればよい。 The angular velocity data 313 is data representing the angular velocity detected by the gyro sensor included in the handheld device 9. Here, the angular velocity data 313 represents the respective angular velocities around the predetermined three axes, but in other embodiments, the angular velocity data 313 only needs to represent the angular velocities around any one or more axes.
入力位置データ314は、タッチパネル52の入力面において入力が行われた位置(入力位置)を表すデータである。ここでは、入力位置データ314は、入力位置を示すための2次元座標系の座標値を表す。また、タッチパネル52に対する入力が行われていない場合、入力位置データ314は、入力がないことを表す。 The input position data 314 is data representing a position (input position) where an input is performed on the input surface of the touch panel 52. Here, the input position data 314 represents coordinate values of a two-dimensional coordinate system for indicating the input position. When no input is made on the touch panel 52, the input position data 314 indicates that there is no input.
操作ボタンデータ315は、ハンドヘルドデバイス9に設けられる各操作ボタンに対する入力状態を表すデータである。 The operation button data 315 is data representing an input state with respect to each operation button provided in the handheld device 9.
なお、端末操作データ311は、入力面に対するプレイヤの入力位置を表すデータ(本実施形態においては入力位置データ314)と、ハンドヘルドデバイス9の動きに応じて値が変化するデータ(本実施形態においては加速度データ312および角速度データ313)とを含むものであればよい。したがって、端末操作データ311は、操作ボタンデータ315を含まないものでもよいし、加速度データ312と角速度データ313とのいずれか一方のみを含むものでもよい。つまり、ハンドヘルドデバイス9は、操作ボタンを備えていない構成であってもよいし、加速度センサおよびジャイロセンサのいずれか一方のみを備える構成であってもよい。また、ハンドヘルドデバイス9は、加速度センサおよびジャイロセンサに代えて上記撮像情報演算部35を備えることにより、加速度データ312および角速度データ313に代えてマーカ座標データを端末操作データ311に含むものであってもよい。 The terminal operation data 311 includes data representing the input position of the player with respect to the input surface (in this embodiment, input position data 314) and data whose value changes according to the movement of the handheld device 9 (in this embodiment). Any data including acceleration data 312 and angular velocity data 313) may be used. Therefore, the terminal operation data 311 may not include the operation button data 315, or may include only one of the acceleration data 312 and the angular velocity data 313. That is, the handheld device 9 may be configured not to include an operation button, or may be configured to include only one of an acceleration sensor and a gyro sensor. Further, the handheld device 9 includes the imaging information calculation unit 35 instead of the acceleration sensor and the gyro sensor, thereby including the marker coordinate data in the terminal operation data 311 instead of the acceleration data 312 and the angular velocity data 313. Also good.
処理用データ316は、後述するゲーム処理(図42)において用いられるデータである。処理用データ316は、端末姿勢データ317、テレビカメラデータ318、端末カメラデータ319、制御面データ320、制御位置データ321、制御方向データ322、および、オブジェクトデータ323を含む。なお、処理用データ316は、図41に示すデータの他、各種オブジェクトに設定されるパラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。 The processing data 316 is data used in a game process (FIG. 42) described later. The processing data 316 includes terminal attitude data 317, television camera data 318, terminal camera data 319, control surface data 320, control position data 321, control direction data 322, and object data 323. In addition to the data shown in FIG. 41, the processing data 316 includes various data used in game processing, such as data representing parameters set for various objects.
端末姿勢データ317は、ハンドヘルドデバイス9の姿勢を表すデータである。本実施形態では、端末姿勢データ317は、上記端末操作データ311に含まれる加速度データ312および角速度データ313に基づいて算出される。端末姿勢データ317の算出方法については後述する。 The terminal attitude data 317 is data representing the attitude of the handheld device 9. In the present embodiment, the terminal attitude data 317 is calculated based on the acceleration data 312 and the angular velocity data 313 included in the terminal operation data 311. A method for calculating the terminal attitude data 317 will be described later.
テレビカメラデータ318は、テレビ2に表示されるテレビ用画像を生成するためのテレビ用仮想カメラの配置を表すデータである。具体的には、テレビカメラデータ318は、仮想のゲーム空間内におけるテレビ用仮想カメラの位置および姿勢を表す。なお、テレビカメラデータ318には、テレビ用仮想カメラの画角(視野範囲)を表すデータ等が含まれていてもよい。 The TV camera data 318 is data representing the arrangement of a TV virtual camera for generating a TV image displayed on the TV 2. Specifically, the TV camera data 318 represents the position and posture of the TV virtual camera in the virtual game space. Note that the television camera data 318 may include data representing the angle of view (view range) of the television virtual camera.
端末カメラデータ319は、ハンドヘルドデバイス9の下側LCDに表示される端末用画像を生成するための端末用仮想カメラの配置を表すデータである。具体的には、端末カメラデータ319は、上記ゲーム空間内における端末用仮想カメラの位置および姿勢を表す。なお、端末カメラデータ319には、端末用仮想カメラの画角(視野範囲)を表すデータ等が含まれていてもよい。なお、本実施形態においては、下側LCDに制御面302が表示されるように、制御面302の位置および姿勢に応じて端末用仮想カメラが配置される。 The terminal camera data 319 is data representing the arrangement of the terminal virtual camera for generating the terminal image displayed on the lower LCD of the handheld device 9. Specifically, the terminal camera data 319 represents the position and orientation of the terminal virtual camera in the game space. Note that the terminal camera data 319 may include data representing the angle of view (field of view range) of the terminal virtual camera. In the present embodiment, the terminal virtual camera is arranged according to the position and orientation of the control surface 302 so that the control surface 302 is displayed on the lower LCD.
制御面データ320は、ゲーム空間における制御面302の位置および姿勢を表すデータである。具体的には、制御面データ320は、制御面302を表す平面の式を表す。なお、本実施形態においては、制御面302の位置は予め定められた位置に固定され、制御面302の姿勢はハンドヘルドデバイス9の姿勢に基づいて算出される。 The control surface data 320 is data representing the position and orientation of the control surface 302 in the game space. Specifically, the control surface data 320 represents a plane equation representing the control surface 302. In the present embodiment, the position of the control surface 302 is fixed at a predetermined position, and the posture of the control surface 302 is calculated based on the posture of the handheld device 9.
制御位置データ321は、入力位置に対応する制御面302上の指定位置(制御位置)を表すデータである。第3のゲーム例では、指定位置が後述する制御方向を算出するために用いられるので、指定位置を「制御位置」と呼ぶ。制御位置データ321は、ゲーム空間内の位置を示す3次元の座標値を表す。なお、他の実施形態においては、制御位置データ321は、制御面上の位置を表す2次元座標系の座標値を表すものであってもよい。また、本実施形態においては、タッチパネル52に対して連続して入力が行われる場合(すなわち、入力位置が連続して検出される場合)、最新のものから順に所定個の入力位置に対応する複数個の制御位置を表すデータが制御位置データ321として記憶される。また、タッチパネル52に対する入力が終了した場合、制御位置データ321の内容はリセットされる。 The control position data 321 is data representing a designated position (control position) on the control surface 302 corresponding to the input position. In the third game example, the designated position is used to calculate a control direction, which will be described later, and therefore the designated position is referred to as a “control position”. The control position data 321 represents a three-dimensional coordinate value indicating a position in the game space. In another embodiment, the control position data 321 may represent a coordinate value of a two-dimensional coordinate system that represents a position on the control surface. In the present embodiment, when input is continuously performed on the touch panel 52 (that is, when input positions are continuously detected), a plurality of input positions corresponding to a predetermined number of input positions in order from the latest one. Data representing the control positions is stored as control position data 321. Further, when the input to the touch panel 52 is completed, the contents of the control position data 321 are reset.
制御方向データ322は、手裏剣301の発射方向(移動方向)を決定するための制御方向を表すデータである。具体的には、制御方向データ322は、3次元のゲーム空間内の方向を示す3次元ベクトルを表す。以下では、この制御方向を示すベクトルを「制御方向ベクトル」と呼ぶ。制御方向データ322は、上記制御位置データ321に基づいて算出される。 The control direction data 322 is data representing a control direction for determining the firing direction (movement direction) of the shuriken 301. Specifically, the control direction data 322 represents a three-dimensional vector indicating a direction in the three-dimensional game space. Hereinafter, a vector indicating the control direction is referred to as a “control direction vector”. The control direction data 322 is calculated based on the control position data 321.
オブジェクトデータ323は、制御方向に基づいて移動されるオブジェクト(本実施形態においては手裏剣301)の状態を表すデータである。具体的には、オブジェクトデータ323は、ゲーム空間における手裏剣301の位置および姿勢を表す。ゲーム装置3は、オブジェクトデータ323に基づいてゲーム空間に手裏剣301を配置し、手裏剣301が配置されたゲーム空間の画像を生成して表示する。 The object data 323 is data representing the state of an object (shuriken 301 in the present embodiment) that is moved based on the control direction. Specifically, the object data 323 represents the position and posture of the shuriken 301 in the game space. The game apparatus 3 arranges the shuriken 301 in the game space based on the object data 323, and generates and displays an image of the game space in which the shuriken 301 is arranged.
次に、ゲーム装置3において行われるゲーム処理の詳細を、図42を用いて説明する。第3のゲーム例において、ゲーム処理における大略的な処理の流れを示すメインフローチャートは、図18と同様であるので、詳細な説明は省略する。以下、第1のゲーム例との相違点を中心として、第3のゲーム例におけるゲーム処理について説明する。 Next, details of the game process performed in the game apparatus 3 will be described with reference to FIG. In the third game example, a main flowchart showing a schematic process flow in the game process is the same as that in FIG. Hereinafter, the game process in the third game example will be described with a focus on differences from the first game example.
第3のゲーム例においても第1のゲーム例と同様、まずステップS1において、CPU10は初期処理を実行する。初期処理は、仮想空間を構築し、仮想空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。本ゲーム例においては、初期処理においてテレビ用仮想カメラの位置および姿勢が設定される。テレビ用仮想カメラの位置および姿勢は、制御面302が撮影範囲(仮想カメラの視体積の範囲)に含まれるように設定される。設定された位置および姿勢を表すデータは、テレビカメラデータ318としてメインメモリに記憶される。なお、制御面302の姿勢は可変であるが位置は固定であるので、初期処理において制御面302が撮影範囲に含まれるようにテレビ用仮想カメラを設定することは可能である。ステップS1の次にステップS2の処理が実行される。 Also in the third game example, as in the first game example, first, in step S1, the CPU 10 executes an initial process. The initial process is a process of constructing a virtual space, placing each object appearing in the virtual space at an initial position, and setting initial values of various parameters used in the game process. In this game example, the position and orientation of the television virtual camera are set in the initial process. The position and orientation of the television virtual camera are set so that the control surface 302 is included in the imaging range (the range of the virtual camera viewing volume). Data representing the set position and orientation is stored in the main memory as television camera data 318. Note that since the attitude of the control surface 302 is variable but the position is fixed, it is possible to set the television virtual camera so that the control surface 302 is included in the shooting range in the initial processing. Following step S1, the process of step S2 is executed.
ステップS2において、CPU10は、ハンドヘルドデバイス9から端末操作データを取得する。ハンドヘルドデバイス9は、加速度センサ、ジャイロセンサ、タッチパネル52、および操作ボタンから出力される各データを端末操作データとしてゲーム装置3へ繰り返し送信するので、ゲーム装置3は、ハンドヘルドデバイス9からのデータを逐次受信して端末操作データ311としてメインメモリに逐次記憶する。なお、ステップS2において、CPU10は上記端末操作データに加えてコントローラ5からコントローラ操作データを取得するようにしてもよい。ステップS2において、CPU10は、最新の端末操作データ311をメインメモリから読み出す。ステップS2の次にステップS3の処理が実行される。 In step S <b> 2, the CPU 10 acquires terminal operation data from the handheld device 9. Since the handheld device 9 repeatedly transmits each data output from the acceleration sensor, the gyro sensor, the touch panel 52, and the operation buttons to the game apparatus 3 as terminal operation data, the game apparatus 3 sequentially receives the data from the handheld device 9. Received and sequentially stored in the main memory as terminal operation data 311. In step S2, the CPU 10 may acquire controller operation data from the controller 5 in addition to the terminal operation data. In step S2, the CPU 10 reads the latest terminal operation data 311 from the main memory. Following step S2, the process of step S3 is executed.
ステップS3において、CPU10はゲーム制御処理を実行する。ゲーム制御処理は、プレイヤによる操作に従ってゲーム空間内のオブジェクト(手裏剣301等)を動作させる等の処理によって、ゲームを進行させる処理である。以下、図42を参照してゲーム制御処理の詳細を説明する。なお、以下では、制御方向の算出に関する処理を中心にゲーム制御処理を説明し、従来の処理と同様に行うことが可能な処理については詳細な説明を省略する。例えば、制御方向に従って発射された後の手裏剣301の移動制御に関する処理や、手裏剣301が標的303に当たったか否かを判定する処理や、手裏剣301が標的303に当たった場合の得点計算処理等については、従来の処理と同様に行うことが可能であるので、詳細な説明を省略する。 In step S3, the CPU 10 executes a game control process. The game control process is a process for advancing the game by a process such as operating an object (shuriken 301 or the like) in the game space in accordance with an operation by the player. Hereinafter, the game control process will be described in detail with reference to FIG. In the following, the game control process will be described focusing on the process related to the calculation of the control direction, and detailed description of the process that can be performed in the same manner as the conventional process will be omitted. For example, processing related to movement control of the shuriken 301 after being fired according to the control direction, processing for determining whether the shuriken 301 hits the target 303, score calculation processing when the shuriken 301 hits the target 303, etc. Since it can be performed in the same manner as conventional processing, detailed description thereof is omitted.
図42は、ゲーム制御処理の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS60において、CPU10は、ハンドヘルドデバイス9の姿勢を算出する。ハンドヘルドデバイス9の姿勢は、端末操作データ311に基づいて算出されればどのような方法で算出されてもよいが、本ゲーム例においては、次の方法で姿勢を算出する。以下、ハンドヘルドデバイス9の姿勢の算出方法について説明する。 FIG. 42 is a flowchart showing a detailed flow of the game control process. In the game control process, first, in step S60, the CPU 10 calculates the attitude of the handheld device 9. The attitude of the handheld device 9 may be calculated by any method as long as it is calculated based on the terminal operation data 311. In this game example, the attitude is calculated by the following method. Hereinafter, a method for calculating the attitude of the handheld device 9 will be described.
まず、CPU10は、メインメモリに記憶されている角速度データ313に基づいてハンドヘルドデバイス9の姿勢を算出する。ハンドヘルドデバイス9の姿勢を角速度から算出する方法はどのような方法であってもよいが、当該姿勢は、上記第1のゲーム例における端末装置7と同様の方法で算出することができる。上記ステップS60の次にステップS61の処理が実行される。 First, the CPU 10 calculates the attitude of the handheld device 9 based on the angular velocity data 313 stored in the main memory. Any method may be used for calculating the posture of the handheld device 9 from the angular velocity, but the posture can be calculated by a method similar to that of the terminal device 7 in the first game example. Following step S60, the process of step S61 is executed.
ステップS61において、CPU10は、ハンドヘルドデバイス9の姿勢に基づいて制御面302の姿勢を算出する。本ゲーム例においては、ゲーム空間における制御面302の姿勢は、現実空間におけるハンドヘルドデバイス9の姿勢に対応するように設定される。具体的には、ハンドヘルドデバイス9が基準姿勢となる場合には、制御面302の姿勢は所定の基準姿勢となるように算出される。なお、本ゲーム例においては、タッチパネル52の入力面が水平となる姿勢をハンドヘルドデバイス9の基準姿勢とし、ゲーム空間において水平に配置される姿勢を制御面302の所定の基準姿勢とする(図38の上欄参照)。また、ハンドヘルドデバイス9が基準姿勢以外の場合には、制御面302の姿勢は、ハンドヘルドデバイス9が基準姿勢から回転した方向に応じた方向に、回転量に応じた回転量だけ、上記所定の基準姿勢から回転させた姿勢となるように算出される(図38の中欄および下欄参照)。以上のように、本ゲーム例においては、仮想空間における制御面302の姿勢が現実空間におけるハンドヘルドデバイス9の姿勢に一致するように、制御面302の姿勢が算出される。ただし、他の実施形態においては、ハンドヘルドデバイス9の姿勢と制御面302の姿勢とが一致する必要はなく、ハンドヘルドデバイス9の姿勢に応じて変化するように制御面302の姿勢が算出されればよい。 In step S <b> 61, the CPU 10 calculates the attitude of the control surface 302 based on the attitude of the handheld device 9. In this game example, the posture of the control surface 302 in the game space is set so as to correspond to the posture of the handheld device 9 in the real space. Specifically, when the handheld device 9 is in the reference posture, the posture of the control surface 302 is calculated to be a predetermined reference posture. In the present game example, a posture in which the input surface of the touch panel 52 is horizontal is a reference posture of the handheld device 9, and a posture that is horizontally arranged in the game space is a predetermined reference posture of the control surface 302 (FIG. 38). (See above). When the handheld device 9 is other than the reference posture, the posture of the control surface 302 is set to the predetermined reference by the rotation amount corresponding to the rotation amount in the direction corresponding to the direction in which the handheld device 9 is rotated from the reference posture. It is calculated so as to be a posture rotated from the posture (see the middle and lower columns in FIG. 38). As described above, in this game example, the posture of the control surface 302 is calculated so that the posture of the control surface 302 in the virtual space matches the posture of the handheld device 9 in the real space. However, in other embodiments, the attitude of the handheld device 9 and the attitude of the control surface 302 do not have to coincide with each other. Good.
ステップS61の具体的な処理としては、CPU10は、メインメモリから端末姿勢データ317を読み出し、端末姿勢データ317に基づいて制御面302の姿勢を算出する。また、制御面302の位置を予め定められた所定位置に設定する。そして、算出された姿勢と設定された位置を表すデータを制御面データ320としてメインメモリに記憶する。ステップS61の次にステップS62の処理が実行される。 As a specific process of step S <b> 61, the CPU 10 reads the terminal attitude data 317 from the main memory, and calculates the attitude of the control surface 302 based on the terminal attitude data 317. Further, the position of the control surface 302 is set to a predetermined position. Data representing the calculated posture and the set position is stored in the main memory as control surface data 320. Following step S61, the process of step S62 is executed.
なお、上記ステップS61においては、CPU10は制御面302の位置を固定し、制御面302の姿勢をハンドヘルドデバイス9の姿勢に応じて変化させた。ここで、他の実施形態においては、制御面302の姿勢とともに位置をハンドヘルドデバイス9の姿勢に応じて変化させてもよい。例えば、CPU10は、制御面302を左に向けて回転させる場合、制御面302の向きを左に回転させながら位置を左に移動させてもよい。 In step S <b> 61, the CPU 10 fixes the position of the control surface 302 and changes the posture of the control surface 302 according to the posture of the handheld device 9. Here, in another embodiment, the position may be changed according to the posture of the handheld device 9 together with the posture of the control surface 302. For example, when rotating the control surface 302 to the left, the CPU 10 may move the position to the left while rotating the direction of the control surface 302 to the left.
ステップS62において、CPU10は、制御面302の姿勢に応じて端末用仮想カメラを制御する。ここで、上述のように、ハンドヘルドデバイス9の下側LCDには制御面302が表示され、具体的には、タッチパネル52の入力面と制御面302とが画面上において一致するように制御面302が表示される。したがって、端末用仮想カメラの位置および姿勢は、制御面302が視野範囲に含まれるように(具体的には、制御面302の外周と端末用仮想カメラの視野範囲の外縁とが一致するように)、制御面302の姿勢に応じて制御される。また、端末用仮想カメラは、その視線方向と制御面302とが直行するように制御される。 In step S <b> 62, the CPU 10 controls the terminal virtual camera according to the attitude of the control surface 302. Here, as described above, the control surface 302 is displayed on the lower LCD of the handheld device 9, and specifically, the control surface 302 so that the input surface of the touch panel 52 and the control surface 302 coincide on the screen. Is displayed. Accordingly, the position and orientation of the terminal virtual camera are set so that the control surface 302 is included in the visual field range (specifically, the outer periphery of the control surface 302 matches the outer edge of the visual field range of the terminal virtual camera). ) And controlled according to the attitude of the control surface 302. Further, the terminal virtual camera is controlled so that the line-of-sight direction and the control surface 302 are orthogonal.
なお、上記ステップS62の処理によれば、端末用仮想カメラは、制御面302と端末用仮想カメラとの位置関係が一定になるように、制御面302の変化に応じて移動される。これによれば、制御面302をどのような姿勢にしても、入力位置と制御位置との対応関係は変化しないので、タッチパネル52に対するタッチ操作の操作性を向上することができる。 In addition, according to the process of the said step S62, the terminal virtual camera is moved according to the change of the control surface 302 so that the positional relationship between the control surface 302 and the terminal virtual camera becomes constant. According to this, since the correspondence relationship between the input position and the control position does not change regardless of the posture of the control surface 302, the operability of the touch operation on the touch panel 52 can be improved.
ステップS62の具体的な処理としては、CPU10は、メインメモリから制御面データ320を読み出し、制御面302の姿勢に基づいて端末用仮想カメラの位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを端末カメラデータ319としてメインメモリに記憶する。ステップS62の次にステップS63の処理が実行される。 As a specific process of step S62, the CPU 10 reads the control surface data 320 from the main memory, and calculates the position and orientation of the terminal virtual camera based on the orientation of the control surface 302. Then, data representing the calculated position and orientation is stored in the main memory as terminal camera data 319. Following step S62, the process of step S63 is executed.
ステップS63において、CPU10は、タッチパネル52に対する入力(タッチ入力)があったか否かを判定する。具体的には、メインメモリに記憶されている最新の入力位置データ314を読み出して参照し、入力位置データ314が入力位置の座標値を表すか、それとも、入力が無いことを表すかを判定する。ステップS63の判定結果が肯定である場合、ステップS64の処理が実行される。一方、ステップS63の判定結果が否定である場合、後述するステップS67の処理が実行される。 In step S <b> 63, the CPU 10 determines whether or not there is an input (touch input) to the touch panel 52. Specifically, the latest input position data 314 stored in the main memory is read out and referred to, and it is determined whether the input position data 314 represents the coordinate value of the input position or no input. . If the determination result of step S63 is affirmative, the process of step S64 is executed. On the other hand, when the determination result of step S63 is negative, a process of step S67 described later is executed.
ステップS64において、CPU10は、制御面302上における制御位置を入力位置に基づいて算出する。制御位置は、入力位置に対応する制御面302上の位置として算出される。具体的には、制御位置は、タッチパネル52の入力面の四辺に対する入力位置の位置関係と、制御面302の四辺に対する制御位置の位置関係とが同じになるように算出される。 In step S64, the CPU 10 calculates a control position on the control surface 302 based on the input position. The control position is calculated as a position on the control surface 302 corresponding to the input position. Specifically, the control position is calculated so that the positional relationship of the input position with respect to the four sides of the input surface of the touch panel 52 is the same as the positional relationship of the control position with respect to the four sides of the control surface 302.
ステップS64の具体的な処理としては、CPU10は、まず、メインメモリに記憶されている最新の入力位置データ314を読み出し、入力位置データ314が表す入力位置を、制御面302上の位置を示す2次元座標系の座標に変換する。次に、CPU10は、変換によって得られた2次元座標を、3次元のゲーム空間の位置を示す3次元座標に変換する。この3次元座標は、上記2次元座標系の座標と、制御面302を表す平面の式(制御面データ320)とを用いて算出することができる。すなわち、CPU10は、制御面データ320をメインメモリから読み出し、上記2次元座標と制御面データ320とに基づいて上記3次元座標を算出する。このようにして算出された3次元座標が制御位置を表す。以上のステップS64の次にステップS65の処理が実行される。 As a specific process of step S64, the CPU 10 first reads the latest input position data 314 stored in the main memory, and the input position represented by the input position data 314 indicates 2 on the control surface 302. Convert to coordinates in dimensional coordinate system. Next, the CPU 10 converts the two-dimensional coordinates obtained by the conversion into three-dimensional coordinates indicating the position of the three-dimensional game space. The three-dimensional coordinates can be calculated using the coordinates of the two-dimensional coordinate system and a plane expression (control surface data 320) representing the control surface 302. That is, the CPU 10 reads the control surface data 320 from the main memory, and calculates the three-dimensional coordinates based on the two-dimensional coordinates and the control surface data 320. The three-dimensional coordinates calculated in this way represent the control position. Following step S64, the process of step S65 is executed.
なお、上記ステップS64においては、下側LCDの画面上において入力位置が制御位置となるように、制御位置が算出されることが好ましい。これによれば、プレイヤは仮想のゲーム空間内の制御位置を把握しやすくなり、制御方向の指示をより行いやすくなる。なお、本ゲーム例においては、タッチパネル52の入力面の形状(縦横比)と制御面302の形状(縦横比)とを等しくし、また、タッチパネル52の入力面と制御面302とを下側LCDの画面上において一致させている。これによって、上記のように制御位置を算出することによって、下側LCDの画面上において入力位置と制御位置とを対応させることができる。なお、他の実施形態においては、入力位置から制御位置を算出する方法はどのような方法であってもよく、入力位置と制御位置とが画面上で対応しない方法であってもよい。 In step S64, the control position is preferably calculated so that the input position becomes the control position on the screen of the lower LCD. According to this, it becomes easier for the player to grasp the control position in the virtual game space, and it becomes easier to instruct the control direction. In this game example, the shape (aspect ratio) of the input surface of the touch panel 52 is made equal to the shape (aspect ratio) of the control surface 302, and the input surface of the touch panel 52 and the control surface 302 are connected to the lower LCD. On the screen. Thus, by calculating the control position as described above, it is possible to make the input position correspond to the control position on the screen of the lower LCD. In other embodiments, the method for calculating the control position from the input position may be any method, and may be a method in which the input position and the control position do not correspond on the screen.
ステップS65において、CPU10は、ステップS64で算出された制御位置を表すデータをメインメモリに記憶する。ここで、CPU10は、タッチパネル52に対して連続して入力が行われる場合、最新のものから順に所定個数の入力位置に対応する複数個の制御位置を記憶する。したがって、CPU10は、制御位置データ321をメインメモリから読み出し、制御位置データ321が表す制御位置が上記所定個数よりも小さい場合、制御位置データ321が表す制御位置に、新たな制御位置を(ステップS64で算出された制御位置)追加したデータを作成する。一方、読み出した制御位置データ321が表す制御位置が上記所定個数以上である場合、制御位置データ321が表す各制御位置に対して、最も古い制御位置を削除するとともに、新たな制御位置を(ステップS64で算出された制御位置)追加したデータを作成する。以上のようにして作成されたデータが新たな制御位置データ321としてメインメモリに記憶される。したがって、制御位置データ321は、現在から所定時間以内に入力された入力位置に対応する制御位置を表す。ステップS65の次にステップS66の処理が実行される。 In step S65, the CPU 10 stores data representing the control position calculated in step S64 in the main memory. Here, when continuous input is performed on the touch panel 52, the CPU 10 stores a plurality of control positions corresponding to a predetermined number of input positions in order from the latest one. Therefore, the CPU 10 reads the control position data 321 from the main memory, and when the control position indicated by the control position data 321 is smaller than the predetermined number, the CPU 10 sets a new control position at the control position indicated by the control position data 321 (step S64). (Control position calculated in step 1) Create the added data. On the other hand, when the control position represented by the read control position data 321 is equal to or more than the predetermined number, the oldest control position is deleted from each control position represented by the control position data 321 and a new control position is set (step (Control position calculated in S64) The added data is created. The data created as described above is stored in the main memory as new control position data 321. Therefore, the control position data 321 represents a control position corresponding to the input position input within a predetermined time from the present time. Following step S65, the process of step S66 is executed.
ステップS66において、CPU10は、ゲーム空間における手裏剣301の位置および姿勢を算出する。ここで、タッチパネル52に対する入力が行われてから発射されるまでの期間において、手裏剣301は、制御面302に応じた姿勢で制御位置に配置される。すなわち、CPU10は、制御面データ320および制御位置データ321をメインメモリから読み出し、手裏剣301の位置および姿勢を算出する。算出された位置および姿勢を表すデータが、オブジェクトデータ323としてメインメモリに記憶される。なお、第3のゲーム例においては、タッチパネル52に対する入力が行われている期間には制御面302上に手裏剣301を配置・表示するようにしたが、他の実施形態においては、当該期間に手裏剣301を配置・表示しないようにしてもよい。また、他の実施形態においては、CPU10は、制御位置に応じて手裏剣301の位置のみを制御し、手裏剣301の姿勢については制御しない(姿勢は固定にする)ようにしてもよい。ステップS66の後、CPU10はゲーム制御処理を終了する。 In step S66, the CPU 10 calculates the position and posture of the shuriken 301 in the game space. Here, the shuriken 301 is arranged at the control position in a posture corresponding to the control surface 302 in a period from when input to the touch panel 52 is performed until the touch panel 52 is fired. That is, the CPU 10 reads the control surface data 320 and the control position data 321 from the main memory, and calculates the position and posture of the shuriken 301. Data representing the calculated position and orientation is stored as object data 323 in the main memory. In the third game example, the shuriken 301 is arranged and displayed on the control surface 302 during the period when the input to the touch panel 52 is performed. However, in other embodiments, the shuriken is performed during the period. 301 may not be arranged / displayed. In another embodiment, the CPU 10 may control only the position of the shuriken 301 according to the control position, and may not control the posture of the shuriken 301 (the posture is fixed). After step S66, the CPU 10 ends the game control process.
一方、ステップS66の判定結果が否定である場合にはステップS67の処理が実行される。ステップS67において、CPU10は、前回の処理ループ(ステップS2〜S8の一連の処理からなる処理ループ)においてタッチ入力があったか否かを判定する。ステップS67の判定は、例えば、メインメモリに制御位置データ321が記憶されているか否かによって行うことができる。なお、前回のタッチ入力だけでなく、過去所定回数に連続してタッチ入力があったかどうかを判定するようにしてもよい。ステップS67の判定結果が肯定である場合、ステップS68の処理が実行される。一方、ステップS67の判定結果が否定である場合、ステップS68〜S70の処理がスキップされ、CPU10はゲーム制御処理を終了する。 On the other hand, if the determination result of step S66 is negative, the process of step S67 is executed. In step S67, the CPU 10 determines whether or not there is a touch input in the previous processing loop (a processing loop including a series of processes in steps S2 to S8). The determination in step S67 can be made, for example, based on whether or not the control position data 321 is stored in the main memory. Note that not only the previous touch input, but also whether or not there has been a touch input in the past a predetermined number of times may be determined. If the determination result of step S67 is affirmative, the process of step S68 is executed. On the other hand, if the determination result of step S67 is negative, the processes of steps S68 to S70 are skipped, and the CPU 10 ends the game control process.
ステップS68において、CPU10は制御方向を算出する。本ゲーム例においては、制御方向(制御方向ベクトル)は、制御位置の平均速度を示すベクトルとして算出される。すなわち、CPU10は、制御位置データ321をメインメモリから読み出し、制御位置データ321が表す複数の制御位置から平均速度を示すベクトルを算出する。具体的には、平均速度を示すベクトルは、上記複数の制御位置のうち、最も古いものを始点とし、最新のものを終点とするベクトルを、制御位置の個数で割ることによって算出することができる。算出されたベクトルを表すデータは、制御方向データ322としてメインメモリに記憶される。ステップS68の次にステップS69の処理が実行される。 In step S68, the CPU 10 calculates a control direction. In the present game example, the control direction (control direction vector) is calculated as a vector indicating the average speed of the control position. That is, the CPU 10 reads the control position data 321 from the main memory, and calculates a vector indicating the average speed from a plurality of control positions represented by the control position data 321. Specifically, the vector indicating the average speed can be calculated by dividing the vector having the oldest start point and the latest end point among the plurality of control positions by the number of control positions. . Data representing the calculated vector is stored as control direction data 322 in the main memory. Following step S68, the process of step S69 is executed.
上記ステップS68においては、制御位置データ321が表す複数の制御位置の平均速度として制御方向を算出する方法を採用した。この方法では、プレイヤがタッチパネル上で線を描く途中で入力位置を移動させずに停止させた場合、算出される平均速度の大きさが非常に小さい値となってしまうおそれがある。そのため、他の実施形態においては、CPU10は、移動していないと推測される入力位置に対応する制御位置を除去して平均速度を算出するようにしてもよい。具体的には、上記ステップS65において、CPU10は、上記ステップS64で算出された新たな制御位置が、その1つ前に算出された制御位置から(ほとんど)移動していない場合、当該新たな制御位置を記憶しないようにしてもよい。すなわち、上記新たな制御位置と1つ前に算出された制御位置との距離が所定値以内である場合、CPU10は、制御位置データ321を更新しないようにしてもよい。 In step S68, a method of calculating the control direction as the average speed of the plurality of control positions represented by the control position data 321 is adopted. In this method, if the player stops without moving the input position in the middle of drawing a line on the touch panel, the calculated average speed may be very small. Therefore, in another embodiment, the CPU 10 may calculate the average speed by removing the control position corresponding to the input position that is estimated not to move. Specifically, in step S65, if the new control position calculated in step S64 has not moved (almost) from the control position calculated immediately before, the new control position is determined. The position may not be stored. That is, when the distance between the new control position and the previously calculated control position is within a predetermined value, the CPU 10 may not update the control position data 321.
ステップS69において、CPU10は、制御方向へ手裏剣301を発射させる。本ゲーム例においては、制御方向ベクトルに基づいて、手裏剣301の移動方向および移動速度が決定される。すなわち、制御方向ベクトルの向きに、制御方向ベクトルに応じた移動量だけ手裏剣301を移動させる。具体的には、ステップS69においては、CPU10は、オブジェクトデータ323および制御方向データ322を読み出し、オブジェクトデータ323が表す位置を、制御方向ベクトルの向きに、制御方向ベクトルに応じた移動量だけ移動させた位置を算出する。そして、オブジェクトデータ323が表す位置を移動後の位置に更新して、更新後のオブジェクトデータをメインメモリに記憶する。これによって、手裏剣301の位置が更新され、手裏剣301が制御方向に移動されたことになる。なお、本ゲーム例においては、上記ステップS66で述べたように、手裏剣301は、制御面302に応じた姿勢で配置されている。したがって、手裏剣301は、制御方向により決められる方向に、制御面の姿勢によって決められる姿勢で発射される。なお、制御方向ベクトルの大きさが予め定められた所定値よりも小さい場合には、プレイヤはタッチパネル52に対して線を描く操作(すなわち手裏剣301を発射する操作)を行う意図がないと考えられる。そのため、この場合にはCPU10は手裏剣301を発射しないようにしてもよい。ステップS69の次にステップS70の処理が実行される。 In step S69, the CPU 10 fires the shuriken 301 in the control direction. In this example game, the moving direction and moving speed of the shuriken 301 are determined based on the control direction vector. That is, the shuriken 301 is moved in the direction of the control direction vector by the amount of movement corresponding to the control direction vector. Specifically, in step S69, the CPU 10 reads the object data 323 and the control direction data 322, and moves the position represented by the object data 323 to the direction of the control direction vector by the amount of movement corresponding to the control direction vector. The calculated position is calculated. Then, the position represented by the object data 323 is updated to the moved position, and the updated object data is stored in the main memory. As a result, the position of the shuriken 301 is updated, and the shuriken 301 is moved in the control direction. In this game example, the shuriken 301 is arranged in a posture corresponding to the control surface 302 as described in step S66. Accordingly, the shuriken 301 is fired in a direction determined by the control surface in a direction determined by the control direction. When the magnitude of the control direction vector is smaller than a predetermined value, it is considered that the player does not intend to perform an operation for drawing a line on the touch panel 52 (that is, an operation for firing the shuriken 301). . For this reason, the CPU 10 may not fire the shuriken 301 in this case. Following step S69, the process of step S70 is executed.
ステップS70において、CPU10は制御位置をリセットする。具体的には、メインメモリに記憶されている制御位置データ321を消去する。これによって、次にタッチ入力が行われた場合には、ステップS65において制御位置が新たに一から記憶されることとなる。ステップS70の後、CPU10はゲーム制御処理を終了する。 In step S70, the CPU 10 resets the control position. Specifically, the control position data 321 stored in the main memory is deleted. As a result, when touch input is performed next time, the control position is newly stored from the beginning in step S65. After step S70, the CPU 10 ends the game control process.
図42に示すゲーム制御処理によれば、ハンドヘルドデバイス9の姿勢に応じて制御面302の姿勢が制御され(ステップS61,S62)、制御面302上において、タッチパネル52に対して入力された線の方向に応じた制御方向が算出される(ステップS68)。これによって、プレイヤは、ハンドヘルドデバイス9の姿勢の操作とタッチパネル52に対する操作とによって、3次元空間内における方向を容易にかつ直感的に指示することができる。 According to the game control process shown in FIG. 42, the attitude of the control surface 302 is controlled according to the attitude of the handheld device 9 (steps S61 and S62), and the line input to the touch panel 52 on the control surface 302 is displayed. A control direction corresponding to the direction is calculated (step S68). As a result, the player can easily and intuitively instruct the direction in the three-dimensional space by operating the posture of the handheld device 9 and operating the touch panel 52.
なお、上記ゲーム制御処理においては、複数の制御位置の平均速度として制御方向が算出された。ここで、制御位置から制御方向を算出する方法は上記に限らず、どのような方法であってもよい。例えば、本ゲーム例と同様にプレイヤに線を描く入力を行わせる場合には、CPU10は、制御位置データ321が表す複数の制御位置のうち、最も新しい制御位置を終点とし、その次に新しい制御位置を始点とするベクトルを制御方向ベクトルとして算出するようにしてもよい。また、プレイヤがタッチパネル52上において2点を指定することによって制御方向を指示することができるようにしてもよい。すなわち、CPU10は、最初にタッチされた入力位置に対応する制御位置を始点とし、次にタッチされた入力位置に対応する制御位置を終点とするベクトルを制御方向ベクトルとして算出するようにしてもよい。 In the game control process, the control direction is calculated as the average speed of a plurality of control positions. Here, the method of calculating the control direction from the control position is not limited to the above, and any method may be used. For example, in the case of causing the player to input a line as in the present game example, the CPU 10 sets the latest control position among the plurality of control positions represented by the control position data 321 as the end point, and then performs the new control. A vector starting from the position may be calculated as the control direction vector. Further, the player may be able to instruct the control direction by designating two points on the touch panel 52. That is, the CPU 10 may calculate, as a control direction vector, a vector having a control position corresponding to the input position touched first as a start point and a control position corresponding to the input position touched next as an end point. .
メインフローチャート(ステップS1〜S8)の説明に戻り、ステップS3のゲーム制御処理の次にステップS4の処理が実行される。ステップS4においては、テレビ用画像が生成される。第3のゲーム例においてもテレビ用画像の具体的な生成方法は第1のゲーム例と同様である。第3のゲーム例においては、制御面302を含むゲーム空間の画像がテレビ用画像として生成される(図37参照)。なお、第3のゲーム例のように、制御面302の姿勢が変化してもテレビ用仮想カメラの位置および姿勢を変化しないようにすることによって、プレイヤは、ゲーム空間における制御面302の姿勢を容易に把握することができる。上記ステップS4の次にステップS5の処理が実行される。 Returning to the description of the main flowchart (steps S1 to S8), the process of step S4 is executed after the game control process of step S3. In step S4, a television image is generated. Also in the third game example, the specific method for generating an image for television is the same as in the first game example. In the third game example, an image of the game space including the control surface 302 is generated as a television image (see FIG. 37). Note that, as in the third game example, by preventing the position and posture of the television virtual camera from changing even if the posture of the control surface 302 changes, the player can change the posture of the control surface 302 in the game space. It can be easily grasped. Following step S4, the process of step S5 is executed.
ステップS5においては、端末用画像が上記ゲーム制御処理に基づいて生成される。第3のゲーム例においても端末用画像の具体的な生成方法は第1のゲーム例と同様である。なお、本ゲーム例では、上記ステップS62で設定された端末用仮想カメラから見たゲーム空間の画像が端末用画像として生成される。これによって、制御面302の画像が端末用画像として生成される(図37参照)。上記ステップS5の次にステップS6の処理が実行される。 In step S5, a terminal image is generated based on the game control process. Also in the third game example, the specific method for generating the terminal image is the same as in the first game example. In the present game example, an image of the game space viewed from the terminal virtual camera set in step S62 is generated as a terminal image. As a result, an image of the control surface 302 is generated as a terminal image (see FIG. 37). Following step S5, the process of step S6 is executed.
第3のゲーム例において、ステップS6〜S8の処理は第1のゲーム例と同様である。なお、ハンドヘルドデバイス9において、ゲーム装置3から送信されてくる画像データおよび音声を受信して表示部および下側LCDに出力する処理は、端末装置7における処理と同様であるとする。また、第3のゲーム例においても第1のゲーム例と同様、ステップS2〜S8の一連の処理は、ステップS8でゲームを終了すると判定されるまで繰り返し実行される。 In the third game example, the processes in steps S6 to S8 are the same as in the first game example. In the handheld device 9, the process of receiving the image data and the sound transmitted from the game apparatus 3 and outputting them to the display unit and the lower LCD is the same as the process in the terminal device 7. Also in the third game example, similar to the first game example, the series of processes in steps S2 to S8 are repeatedly executed until it is determined in step S8 that the game is to be ended.
以上で説明した第3のゲーム例のゲーム処理によれば、ハンドヘルドデバイス9の姿勢によって制御面302の姿勢が決定され、タッチパネルに対する入力によって制御面302上で制御方向が決定される。そして、決定された制御方向へ手裏剣301が発射される。このように、本ゲーム例によれば、プレイヤは、タッチパネル52を用いて3次元空間における方向を直感的な操作で容易に指示することができる。 According to the game process of the third game example described above, the posture of the control surface 302 is determined by the posture of the handheld device 9, and the control direction is determined on the control surface 302 by an input to the touch panel. Then, the shuriken 301 is fired in the determined control direction. Thus, according to the present game example, the player can easily instruct the direction in the three-dimensional space by an intuitive operation using the touch panel 52.
また、上記第3のゲーム例のゲーム処理によれば、制御面302上における制御方向ベクトルが算出されるので、当該制御方向ベクトルによって、オブジェクトの移動方向に加えて移動量を制御することができる。したがって、ハンドヘルドデバイス9を用いてより詳細にオブジェクトを制御することができる。 Further, according to the game process of the third game example, since the control direction vector on the control surface 302 is calculated, the movement amount can be controlled in addition to the moving direction of the object by the control direction vector. . Therefore, the object can be controlled in more detail using the handheld device 9.
また、上記第3のゲーム例のゲーム処理によれば、制御面302を含む画像がテレビ用画像としてテレビ2に表示されるので、プレイヤは手裏剣301の姿勢および発射方向をテレビ用画像によって確認することができ、操作をより行いやすくすることができる。 Further, according to the game process of the third game example, an image including the control surface 302 is displayed on the television 2 as a television image, so that the player confirms the posture and launch direction of the shuriken 301 with the television image. Can be performed more easily.
[9.第4のゲーム例]
以下、図43〜図46を参照して、本実施形態のゲームシステム1において実行される第4のゲーム例について説明する。第4のゲーム例は、ハンドヘルドデバイス9を操作することによってゲーム空間内においてオブジェクト(大砲の弾)を発射するゲームである。プレイヤは、ハンドヘルドデバイス9の姿勢を変化させるとともに、タッチパネル52上の位置を指定する(タッチする)ことによって、弾を発射する方向を指示することができる。なお、第4のゲーム例においても第3のゲーム例と同様、ゲームシステム1が端末装置7に代えて、携帯型ゲーム機であるハンドヘルドデバイス9を有するものとして説明を行う。
[9. Fourth game example]
Hereinafter, with reference to FIGS. 43 to 46, a fourth game example executed in the game system 1 of the present embodiment will be described. The fourth game example is a game in which an object (cannon bullet) is fired in the game space by operating the handheld device 9. The player can instruct the direction of firing the bullet by changing the posture of the handheld device 9 and designating (touching) the position on the touch panel 52. In the fourth game example as well, as in the third game example, the game system 1 will be described as having a handheld device 9 that is a portable game machine instead of the terminal device 7.
図43は、第4のゲーム例におけるテレビ2の画面とハンドヘルドデバイス9とを示す図である。図43においては、テレビ2およびハンドヘルドデバイス9の下側LCDには、ゲーム画像としてゲーム空間の画像が表示されている。テレビ2には、大砲331、弾332、および標的333が表示されている。下側LCDには、弾332および標的333が表示されている。図43において、下側LCDに表示される端末用画像は、大砲331の位置からゲーム空間を見た画像である。なお、第4のゲーム例においても第3のゲーム例と同様、ゲーム空間内に制御面が設定されるが、第3のゲーム例と異なり制御面は表示されない。したがって、本実施例においては、プレイヤはハンドヘルドデバイス9の下側LCDを見ながら主観的な視点でゲームをすることができる。テレビ2に表示される画像は下側LCDと同じ視点からの画像であってもよいが、別視点からの画像を表示させるようにすれば、両方の画面を活かしたゲームを提供することができる。例えば、下側LCDでは見えない範囲をテレビ2に表示させるようにすれば、プレイヤがテレビ2を見ながら主観視点では見えない部分を隠れて狙うようなゲームプレイを実現することもできる。また、操作感覚は異なるが、テレビ2に主観的な視点の画像を表示させるようにし、ハンドヘルドデバイスには画面を設けずにタッチパッドによる入力を行うようにすることも可能である。 FIG. 43 is a diagram showing the screen of the television 2 and the handheld device 9 in the fourth game example. In FIG. 43, an image of the game space is displayed as a game image on the lower LCD of the television 2 and the handheld device 9. On the television 2, a cannon 331, a bullet 332, and a target 333 are displayed. A bullet 332 and a target 333 are displayed on the lower LCD. In FIG. 43, the terminal image displayed on the lower LCD is an image of the game space viewed from the position of the cannon 331. In the fourth game example, a control surface is set in the game space as in the third game example, but unlike the third game example, the control surface is not displayed. Therefore, in this embodiment, the player can play the game from a subjective viewpoint while looking at the lower LCD of the handheld device 9. The image displayed on the television 2 may be an image from the same viewpoint as the lower LCD, but if an image from another viewpoint is displayed, a game that makes use of both screens can be provided. . For example, if a range that cannot be seen on the lower LCD is displayed on the television 2, it is possible to realize a game play in which the player hides and aims at a portion that cannot be seen from the subjective viewpoint while watching the television 2. Although the operation feeling is different, it is also possible to display an image of a subjective viewpoint on the television 2 and perform input using a touch pad without providing a screen on the handheld device.
大砲331から弾332を発射する場合、プレイヤは、まず、ハンドヘルドデバイス9の姿勢を操作することによって制御面の姿勢を変化させて所望の姿勢にする。つまり、第4のゲーム例においても第3のゲーム例と同様、制御面の姿勢はハンドヘルドデバイス9の姿勢に応じて決定される。なお、詳細は後述するが、第4のゲーム例においては制御面の位置は、制御面の姿勢に応じて変化(移動)する。 When firing the bullet 332 from the cannon 331, the player first changes the attitude of the control surface to a desired attitude by manipulating the attitude of the handheld device 9. That is, also in the fourth game example, as in the third game example, the attitude of the control surface is determined according to the attitude of the handheld device 9. Although details will be described later, in the fourth game example, the position of the control surface changes (moves) according to the attitude of the control surface.
第4のゲーム例においては、プレイヤはさらに、図43に示すように、タッチパネル52上の所望の位置をタッチする操作を行う。この操作によって、入力位置に対応するゲーム空間内の位置(制御面上の制御位置)が決定される。第4のゲーム例においても制御位置の決定方法は第3のゲーム例と同様である。 In the fourth game example, the player further performs an operation of touching a desired position on the touch panel 52 as shown in FIG. By this operation, the position in the game space corresponding to the input position (control position on the control surface) is determined. Also in the fourth game example, the control position determination method is the same as in the third game example.
ここで、第4のゲーム例においては、制御方向は、端末用仮想カメラの位置から制御位置への方向として決定される。図44は、ゲーム空間における仮想カメラと制御面とを示す図である。図44において、点Pは制御面335上に設定される制御位置を表し、ベクトルv2は制御方向を表す。第4のゲーム例においては、図44に示すように、端末用仮想カメラの位置Pcと制御位置Pとに基づいて制御方向(制御方向ベクトルv2)が算出される。具体的には、制御方向ベクトルv2は、端末用仮想カメラの位置Pcを始点とし、制御位置Pを終点とするベクトルとして算出される。弾332は、算出された制御方向に発射される。 Here, in the fourth game example, the control direction is determined as the direction from the position of the terminal virtual camera to the control position. FIG. 44 is a diagram showing a virtual camera and a control surface in the game space. In FIG. 44, a point P represents a control position set on the control surface 335, and a vector v2 represents a control direction. In the fourth game example, as shown in FIG. 44, the control direction (control direction vector v2) is calculated based on the position Pc and the control position P of the terminal virtual camera. Specifically, the control direction vector v2 is calculated as a vector having the position Pc of the terminal virtual camera as the start point and the control position P as the end point. The bullet 332 is fired in the calculated control direction.
以上のように、第4のゲーム例においては、プレイヤは、ハンドヘルドデバイス9の姿勢の操作と、タッチパネル32上の位置を指定する操作とによって、弾332を所望の方向へ飛ばすことができる。したがって、第4のゲーム例においても第3のゲーム例と同様、プレイヤは、タッチパネル52を用いて3次元空間における方向を直感的な操作で容易に指示することができる。また、ハンドヘルドデバイス9の姿勢の操作とタッチパネル52に対する入力操作とは、同時に並行して行うことができるので、プレイヤは3次元空間における方向を指示する操作を迅速に行うことができる。 As described above, in the fourth game example, the player can fly the bullet 332 in a desired direction by the operation of the posture of the handheld device 9 and the operation of designating the position on the touch panel 32. Accordingly, in the fourth game example as well, as in the third game example, the player can easily indicate the direction in the three-dimensional space by an intuitive operation using the touch panel 52. In addition, since the posture operation of the handheld device 9 and the input operation on the touch panel 52 can be simultaneously performed in parallel, the player can quickly perform an operation of instructing a direction in the three-dimensional space.
(第4のゲーム例におけるゲーム処理)
次に、第4のゲーム例におけるゲーム処理の詳細を説明する。まず、図41を参照して、第3のゲーム例との相違点を中心に、第4のゲーム例におけるゲーム処理において用いられる各種データについて説明する。
(Game processing in the fourth game example)
Next, details of the game process in the fourth game example will be described. First, with reference to FIG. 41, various data used in the game process in the fourth game example will be described focusing on differences from the third game example.
第4のゲーム例においては、ゲームプログラム310としては、図45に示すゲーム処理を実行するためのゲームプログラムが記憶される。端末操作データ311は第3のゲーム例と同様である。 In the fourth game example, a game program for executing the game process shown in FIG. 45 is stored as the game program 310. The terminal operation data 311 is the same as that in the third game example.
処理用データ316としては、第4のゲーム例においても第3のゲーム例と同様のデータが記憶される。ただし、第4のゲーム例においては、制御位置データ321は、最新の1つの制御位置を表すものでよい。また、オブジェクトデータ323は、弾332の位置を表す。 As the processing data 316, the same data as in the third game example is stored in the fourth game example. However, in the fourth game example, the control position data 321 may represent the latest one control position. The object data 323 represents the position of the bullet 332.
次に、第4のゲーム例におけるゲーム処理の詳細を、図45および図46を用いて説明する。第4のゲーム例においても第3のゲーム例と同様、図18に示すステップS1〜S8の処理が実行される。以下、第3のゲーム例におけるゲーム処理との相違点を中心に、第4のゲーム例におけるゲーム処理を説明する。 Next, details of the game process in the fourth game example will be described with reference to FIGS. 45 and 46. In the fourth game example, similarly to the third game example, steps S1 to S8 shown in FIG. 18 are executed. Hereinafter, the game process in the fourth game example will be described focusing on the differences from the game process in the third game example.
ステップS1において、CPU10は、第3のゲーム例と同様の初期処理を実行する。ただし、第4のゲーム例においては、テレビ用仮想カメラは制御面の位置および姿勢に応じて制御されるので(後述するステップS84)、初期処理においてはテレビ用仮想カメラの位置および姿勢は設定されない。第4のゲーム例におけるステップS2の処理は、第3のゲーム例と同様である。 In step S1, the CPU 10 executes an initial process similar to that in the third game example. However, in the fourth game example, the television virtual camera is controlled according to the position and orientation of the control surface (step S84 to be described later), and therefore the position and orientation of the television virtual camera are not set in the initial process. . The process of step S2 in the fourth game example is the same as that in the third game example.
ステップS3において、CPU10はゲーム制御処理を実行する。第4のゲーム例におけるゲーム制御処理は、プレイヤによる操作に従ってゲーム空間内のオブジェクト(弾332等)を動作させる等の処理によって、ゲームを進行させる処理である。以下、図45を参照して、第4のゲーム例におけるゲーム制御処理の詳細を説明する。なお、以下では、制御方向の算出に関する処理を中心にゲーム制御処理を説明し、従来の処理と同様に行うことが可能な処理については詳細な説明を省略する。例えば、制御方向に従って発射された後の弾332の移動制御に関する処理や、弾332が標的333に当たったか否かを判定する処理や、弾332が標的333に当たった場合の得点計算処理等については、従来の処理と同様に行うことが可能であるので、詳細な説明を省略する。 In step S3, the CPU 10 executes a game control process. The game control process in the fourth game example is a process for advancing the game by a process such as operating an object (such as a bullet 332) in the game space according to an operation by the player. Hereinafter, the game control process in the fourth game example will be described in detail with reference to FIG. In the following, the game control process will be described focusing on the process related to the calculation of the control direction, and detailed description of the process that can be performed in the same manner as the conventional process will be omitted. For example, processing related to movement control of the bullet 332 after being fired according to the control direction, processing for determining whether the bullet 332 hits the target 333, score calculation processing when the bullet 332 hits the target 333, etc. Since it can be performed in the same manner as conventional processing, detailed description thereof is omitted.
図45は、第4のゲーム例におけるゲーム制御処理の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS81において、CPU10は、ハンドヘルドデバイス9の姿勢を算出する。ステップS81の処理は第3のゲーム例におけるステップS60の処理と同じである。ステップS81の次にステップS82の処理が実行される。 FIG. 45 is a flowchart showing a detailed flow of the game control process in the fourth game example. In the game control process, first, in step S <b> 81, the CPU 10 calculates the attitude of the handheld device 9. The process of step S81 is the same as the process of step S60 in the third game example. Following step S81, the process of step S82 is executed.
ステップS82において、CPU10は、ハンドヘルドデバイス9の姿勢に基づいて制御面335の位置および姿勢を算出する。ここで、制御面335の姿勢をハンドヘルドデバイス9の姿勢に基づいて算出する処理は、第3のゲーム例におけるステップS61の処理と同じである。すなわち、第4のゲーム例においても、ゲーム空間における制御面335の姿勢は、現実空間におけるハンドヘルドデバイス9の姿勢に対応するように設定される。 In step S <b> 82, the CPU 10 calculates the position and orientation of the control surface 335 based on the orientation of the handheld device 9. Here, the process of calculating the attitude of the control surface 335 based on the attitude of the handheld device 9 is the same as the process of step S61 in the third game example. That is, also in the fourth game example, the posture of the control surface 335 in the game space is set so as to correspond to the posture of the handheld device 9 in the real space.
また、制御面335の位置は、制御面335の姿勢に応じて次のように算出される。図46は、制御面335の位置および姿勢が変化する様子を示す図である。図46において、点Paは、制御面335の位置を決定するための基準点であり、ゲーム空間に固定的に設定される。図46に示すように、ハンドヘルドデバイス9の姿勢が変化する場合、制御面335は、姿勢の変化とともに、基準点Paを中心に回転するように位置も変化する。具体的には、制御面335の位置は、基準点Paから制御面335への垂線の長さが予め定められた所定値となるように(つまり、基準点Paからの距離が一定となるように)算出される。 Further, the position of the control surface 335 is calculated as follows according to the attitude of the control surface 335. FIG. 46 is a diagram showing how the position and orientation of the control surface 335 change. In FIG. 46, a point Pa is a reference point for determining the position of the control surface 335, and is fixedly set in the game space. As shown in FIG. 46, when the posture of the handheld device 9 changes, the position of the control surface 335 also changes so as to rotate around the reference point Pa as the posture changes. Specifically, the position of the control surface 335 is such that the length of the perpendicular from the reference point Pa to the control surface 335 is a predetermined value (that is, the distance from the reference point Pa is constant). To be calculated.
ステップS82の具体的な処理としては、CPU10は、まず、上記ステップS61と同様の方法によって制御面335の姿勢を算出する。次に、CPU10は、算出された姿勢と、上記基準点Paの位置とに基づいて、上記垂線の長さが予め定められた所定値となるように制御面335の位置を算出する。算出された制御面335の位置および姿勢を表すデータは、制御面データ320としてメインメモリに記憶される。ステップS82の次にステップS83の処理が実行される。 As a specific process in step S82, the CPU 10 first calculates the attitude of the control surface 335 by the same method as in step S61. Next, based on the calculated posture and the position of the reference point Pa, the CPU 10 calculates the position of the control surface 335 so that the length of the perpendicular becomes a predetermined value. Data representing the calculated position and orientation of the control surface 335 is stored as control surface data 320 in the main memory. Following step S82, the process of step S83 is executed.
上記ステップS82の処理によれば、制御面335の姿勢とともに位置が変化するように制御面335が制御される。端末用仮想カメラの位置(あるいは基準点の位置)を中心として、ハンドヘルドデバイス9の姿勢に応じて制御面335の位置を変化させることで、所定の位置から周囲を見回すような操作感覚でプレイヤにゲーム操作を行わせることができる。なお、別の実施例においては、例えば仮想空間内の特定の位置を様々な角度から見るような操作感覚のゲームを実現することも可能である。すなわち、制御面335の位置を変えずに、ハンドヘルドデバイス9の姿勢に応じて端末用仮想カメラの位置を変えるようにしてもよい。また、姿勢に応じて制御面335の位置も端末用仮想カメラの位置も動くようにして、仮想空間内で移動して視点を変えながら視線方向も変えるような操作感覚でプレイヤにゲーム操作を行わせるようにしてもよい。 According to the process of step S82, the control surface 335 is controlled so that the position changes with the attitude of the control surface 335. By changing the position of the control surface 335 according to the attitude of the handheld device 9 around the position of the terminal virtual camera (or the position of the reference point), the player feels as if looking around from a predetermined position. Game operation can be performed. In another embodiment, for example, it is possible to realize a game with a sense of operation such that a specific position in the virtual space is viewed from various angles. That is, the position of the terminal virtual camera may be changed according to the attitude of the handheld device 9 without changing the position of the control surface 335. In addition, the position of the control surface 335 and the position of the terminal virtual camera are moved according to the posture, and the game operation is performed on the player with an operational feeling of moving in the virtual space and changing the line of sight while changing the viewpoint. You may make it let.
ステップS83において、CPU10は、制御面335の位置および姿勢に応じて端末用仮想カメラを制御する。ここで、図46に示す点Pcは、端末用仮想カメラの位置を示す点である。図46に示すように、端末用仮想カメラは、制御面302が視野範囲に含まれるように(より具体的には、制御面335の外周と端末用仮想カメラの視野範囲の外縁とが一致するように)制御される。したがって、端末用仮想カメラの位置は、基準点Paと制御面335の中心とを通る直線上であって、制御面335からの距離が視野範囲に応じた距離となるように算出される。なお、端末用仮想カメラは、上記直線上であればよく、視野範囲(視野角)によっては、基準点Paよりも後ろ側(制御面335から遠い側)の位置となることもある。 In step S <b> 83, the CPU 10 controls the terminal virtual camera according to the position and orientation of the control surface 335. Here, a point Pc shown in FIG. 46 is a point indicating the position of the terminal virtual camera. As shown in FIG. 46, the terminal virtual camera is such that the control surface 302 is included in the visual field range (more specifically, the outer periphery of the control surface 335 matches the outer edge of the visual field range of the terminal virtual camera. Controlled). Therefore, the position of the terminal virtual camera is calculated on a straight line passing through the reference point Pa and the center of the control surface 335 so that the distance from the control surface 335 is a distance corresponding to the visual field range. Note that the terminal virtual camera only needs to be on the straight line, and depending on the field of view range (viewing angle), the terminal virtual camera may be located behind the reference point Pa (side far from the control surface 335).
上記のように端末用仮想カメラが設定されることによって、下側LCDには、タッチパネル52の入力面と制御面335とが画面上において一致するように制御面335が表示されることになる(図43参照)。これによれば、プレイヤがタッチした位置に対応するゲーム空間内の位置に向かって弾332が発射されるので、直感的でわかりやすいゲーム操作を提供することができる。また、第4のゲーム例においても第3のゲーム例と同様、端末用仮想カメラは、制御面302と端末用仮想カメラとの位置関係が一定になるように、制御面302の変化に応じて移動されることとなる。 By setting the terminal virtual camera as described above, the control surface 335 is displayed on the lower LCD so that the input surface of the touch panel 52 and the control surface 335 coincide on the screen ( (See FIG. 43). According to this, since the bullet 332 is fired toward the position in the game space corresponding to the position touched by the player, an intuitive and easy-to-understand game operation can be provided. Also in the fourth game example, as in the third game example, the terminal virtual camera responds to changes in the control surface 302 so that the positional relationship between the control surface 302 and the terminal virtual camera is constant. Will be moved.
ステップS83の具体的な処理としては、CPU10は、メインメモリから制御面データ320を読み出し、制御面335の位置および姿勢に基づいて端末用仮想カメラの位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを端末カメラデータ319としてメインメモリに記憶する。ステップS83の次にステップS84の処理が実行される。 As a specific process of step S83, the CPU 10 reads the control surface data 320 from the main memory, and calculates the position and orientation of the terminal virtual camera based on the position and orientation of the control surface 335. Then, data representing the calculated position and orientation is stored in the main memory as terminal camera data 319. Following step S83, the process of step S84 is executed.
ステップS84において、CPU10は、制御面335の位置および姿勢に応じてテレビ用仮想カメラを制御する。第4のゲーム例においては、テレビ用仮想カメラは、制御面335が視野範囲に含まれ、端末用仮想カメラとは異なる位置となるように制御される(図43参照)。具体的には、テレビ用仮想カメラは、大砲331が表示されるように、大砲331のやや後方の位置から制御面335の方を向くように配置される。なお、ここでは、大砲331は、端末用仮想カメラの位置に配置されるものとする。具体的な処理としては、CPU10は、メインメモリから制御面データ320を読み出し、制御面335の位置および姿勢に応じた位置および姿勢となるように、テレビ用仮想カメラの位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータをテレビカメラデータ318としてメインメモリに記憶する。ステップS84の次にステップS85の処理が実行される。 In step S <b> 84, the CPU 10 controls the television virtual camera according to the position and orientation of the control surface 335. In the fourth game example, the television virtual camera is controlled such that the control surface 335 is included in the visual field range and is at a position different from the terminal virtual camera (see FIG. 43). Specifically, the television virtual camera is arranged so as to face the control surface 335 from a position slightly behind the cannon 331 so that the cannon 331 is displayed. Here, it is assumed that the cannon 331 is arranged at the position of the terminal virtual camera. Specifically, the CPU 10 reads the control surface data 320 from the main memory, and calculates the position and orientation of the television virtual camera so that the position and orientation correspond to the position and orientation of the control surface 335. Then, data representing the calculated position and orientation is stored in the main memory as television camera data 318. Following step S84, the process of step S85 is executed.
上記ステップS84の処理によれば、テレビ用仮想カメラは端末用仮想カメラとは異なる位置に配置される。これによって、プレイヤは、異なる2つの視点から見たゲーム空間を見ることができるので、ゲーム操作をより行いやすくなる。例えば、第4のゲーム例においては、テレビ用仮想カメラは、端末用仮想カメラよりも広いゲーム空間の範囲を撮影するように配置される(図43参照)ので、プレイヤは、テレビ用画像を見ることによってゲーム空間内における様子(各オブジェクトの配置等)をより把握しやすくなる。 According to the processing in step S84, the television virtual camera is arranged at a different position from the terminal virtual camera. Thus, the player can see the game space viewed from two different viewpoints, so that it is easier to perform the game operation. For example, in the fourth game example, the television virtual camera is arranged so as to capture a wider game space range than the terminal virtual camera (see FIG. 43), so that the player views the television image. This makes it easier to grasp the state (arrangement of each object, etc.) in the game space.
また、2つの仮想カメラの位置を異ならせることによって、ゲームの興趣性を向上することもできる。例えば、大砲331と標的333との間に壁を配置しておき(端末用仮想カメラからは標的333が見えない)、壁より上側の標的333が見える位置にテレビ用仮想カメラを配置するようにすれば、テレビ2側にのみ標的333が表示されるようにすることができる。この場合、プレイヤは、ハンドヘルドデバイス9の画面とテレビ2の画面の両方を見比べながらゲーム操作を行うことになり、ゲームをより面白くすることができる。なお、他の実施形態においては、テレビ用仮想カメラの位置および姿勢はどのように制御されてもよく、制御面335が見えない位置に配置されてもよいし、また、端末用仮想カメラと同じ位置および姿勢に設定されてもよい(つまり、仮想カメラを1つのみ設定してもよい)。 In addition, the interest of the game can be improved by making the positions of the two virtual cameras different. For example, a wall is disposed between the cannon 331 and the target 333 (the target 333 cannot be seen from the terminal virtual camera), and the television virtual camera is disposed at a position where the target 333 can be seen above the wall. Then, the target 333 can be displayed only on the television 2 side. In this case, the player performs the game operation while comparing both the screen of the handheld device 9 and the screen of the television 2, and can make the game more interesting. In other embodiments, the position and orientation of the television virtual camera may be controlled in any way, may be arranged at a position where the control surface 335 cannot be seen, and is the same as the terminal virtual camera. The position and orientation may be set (that is, only one virtual camera may be set).
ステップS85において、CPU10は、タッチパネル52に対する入力(タッチ入力)があったか否かを判定する。ステップS85の処理は、第3のゲーム例におけるステップS63の処理と同じである。ステップS85の判定結果が肯定である場合、ステップS86の処理が実行される。一方、ステップS85の判定結果が否定である場合、CPU10はゲーム制御処理を終了する。 In step S85, the CPU 10 determines whether or not there is an input (touch input) to the touch panel 52. The process of step S85 is the same as the process of step S63 in the third game example. If the determination result of step S85 is affirmative, the process of step S86 is executed. On the other hand, when the determination result of step S85 is negative, the CPU 10 ends the game control process.
ステップS86において、CPU10は、制御面335上における制御位置を入力位置に基づいて算出する。ステップS86における制御位置の算出方法は、第3のゲーム例におけるステップS64における算出方法と同じである。また、第4のゲーム例では、制御方向は最新の制御位置に基づいて算出される。そのため、ステップS86においては、CPU10は、算出した制御位置を表すデータを制御位置データ321としてメインメモリに記憶する。ステップS86の次にステップS87の処理が実行される。 In step S86, the CPU 10 calculates a control position on the control surface 335 based on the input position. The calculation method of the control position in step S86 is the same as the calculation method in step S64 in the third game example. In the fourth game example, the control direction is calculated based on the latest control position. Therefore, in step S86, the CPU 10 stores data representing the calculated control position in the main memory as control position data 321. Following step S86, the process of step S87 is executed.
ステップS87において、CPU10は、ステップS86で算出された制御位置に基づいて制御方向を算出する。制御方向は、ゲーム空間内における所定位置と制御位置とを結ぶ方向として算出される。第4のゲーム例においては、制御方向は、端末用仮想カメラ(大砲331)の位置から制御位置への方向として算出される(図44参照)。具体的には、CPU10は、端末カメラデータ319と制御位置データ321をメインメモリから読み出し、端末用仮想カメラの位置を始点とし、制御位置を終点とする制御方向ベクトルv2を算出する。算出された制御方向ベクトルv2を表すデータは、制御方向データ322としてメインメモリに記憶される。ステップS87の次にステップS88の処理が実行される。 In step S87, the CPU 10 calculates a control direction based on the control position calculated in step S86. The control direction is calculated as a direction connecting the predetermined position and the control position in the game space. In the fourth game example, the control direction is calculated as the direction from the position of the terminal virtual camera (cannon 331) to the control position (see FIG. 44). Specifically, the CPU 10 reads the terminal camera data 319 and the control position data 321 from the main memory, and calculates a control direction vector v2 having the position of the terminal virtual camera as the start point and the control position as the end point. Data representing the calculated control direction vector v2 is stored in the main memory as control direction data 322. Following step S87, the process of step S88 is executed.
なお、上記ステップS87においては、上記所定位置として端末用仮想カメラの位置を用いた。ここで、他の実施形態においては、上記所定位置は他の位置であってもよい。例えば、上記所定位置は、図46に示す基準点Paの位置でもよいし、特定のオブジェクトの位置でもよい。上記所定位置として仮想カメラの位置以外の位置を採用する場合には、視点とは異なる位置からオブジェクト(弾332)が発射されるように見える。一方、第4のゲーム例のように、制御方向の始点と端末用画像における視点とを一致させるようにすれば、プレイヤは主観的な視点で弾を撃つ操作を行うことができ、より操作しやすいゲーム操作を提供することができる。 In step S87, the position of the terminal virtual camera is used as the predetermined position. Here, in another embodiment, the predetermined position may be another position. For example, the predetermined position may be the position of the reference point Pa shown in FIG. 46 or the position of a specific object. When a position other than the position of the virtual camera is adopted as the predetermined position, the object (bullet 332) appears to be fired from a position different from the viewpoint. On the other hand, if the start point of the control direction and the viewpoint in the terminal image are made to coincide as in the fourth game example, the player can perform an operation of shooting a bullet from a subjective viewpoint, and the player can An easy game operation can be provided.
ステップS88において、CPU10は、ステップS87で算出された制御方向へ弾332を発射する。第4のゲーム例においては、弾332は、所定の移動方向へ所定の速さ(所定の移動量)で移動される。所定の移動方向は、制御方向により決められる方向であって、制御方向よりも所定角度だけ上方を向く方向である。ここで、第4のゲーム例においては、発射後の弾332が、重力を考慮して放物線を描くように制御されるものとする。このように弾332が放物線を描くように飛んでいく場合、弾332を制御方向に発射すると、プレイヤは、制御方向よりもやや下方に発射されたような感覚を受けるおそれがある。そのため、第2に実施例では、CPU10は、弾332を制御方向よりも所定角度だけ上方に向けた方向へ発射する。このように、オブジェクトの移動方向は、制御方向により決められる方向であればよく、必ずしも制御方向と一致する方向である必要はない。 In step S88, the CPU 10 fires the bullet 332 in the control direction calculated in step S87. In the fourth game example, the bullet 332 is moved at a predetermined speed (a predetermined movement amount) in a predetermined movement direction. The predetermined moving direction is a direction determined by the control direction, and is a direction facing upward by a predetermined angle from the control direction. Here, in the fourth game example, it is assumed that the bullet 332 after firing is controlled to draw a parabola in consideration of gravity. When the bullet 332 flies like a parabola in this way, if the bullet 332 is fired in the control direction, the player may feel as if it was fired slightly below the control direction. Therefore, in the second embodiment, the CPU 10 fires the bullet 332 in a direction directed upward by a predetermined angle from the control direction. Thus, the moving direction of the object may be a direction determined by the control direction, and does not necessarily have to coincide with the control direction.
ステップS88の具体的な処理としては、CPU10は、制御方向データ322を読み出し、制御方向から弾332の移動方向を算出する。そして、オブジェクトデータ323を読み出し、オブジェクトデータ323が表す位置を、算出された移動方向の向きへ、所定の移動量だけ移動させた位置を算出する。そして、オブジェクトデータ323が表す位置を移動後の位置に更新して、更新後のオブジェクトデータをメインメモリに記憶する。これによって、弾332の位置が更新され、弾332が制御方向に移動されたことになる。ステップS88の後、CPU10はゲーム制御処理を終了する。 As a specific process of step S88, the CPU 10 reads the control direction data 322 and calculates the movement direction of the bullet 332 from the control direction. Then, the object data 323 is read, and a position obtained by moving the position represented by the object data 323 in the direction of the calculated movement direction by a predetermined movement amount is calculated. Then, the position represented by the object data 323 is updated to the moved position, and the updated object data is stored in the main memory. As a result, the position of the bullet 332 is updated, and the bullet 332 is moved in the control direction. After step S88, the CPU 10 ends the game control process.
ゲーム制御処理の次には、第4のゲーム例においても第3のゲーム例と同様、ステップS3〜S8の処理が実行される。すなわち、ステップS4においてテレビ用画像が生成され、ステップS5において端末用画像が生成される。さらに、ステップS6においてテレビ用画像がテレビ2に表示され、ステップS7において端末用画像がハンドヘルドデバイス9の下側LCDに表示される。なお、第4のゲーム例においては、下側LCDには、タッチパネル52の入力面と制御面335とが画面上において一致するようにゲーム空間が表示され(制御面335は表示されない)、テレビ2には、下側LCDよりも広い範囲のゲーム空間が表示される(図43参照)。また、ステップS8においてゲームを終了するか否かが判定され、ステップS8でゲームを終了すると判定されるまでステップS2〜S8の一連の処理が繰り返し実行される。 Next to the game control process, the processes of steps S3 to S8 are executed in the fourth game example as well as in the third game example. That is, a television image is generated in step S4, and a terminal image is generated in step S5. Further, a television image is displayed on the television 2 in step S6, and a terminal image is displayed on the lower LCD of the handheld device 9 in step S7. In the fourth game example, the lower LCD displays the game space so that the input surface of the touch panel 52 and the control surface 335 coincide on the screen (the control surface 335 is not displayed), and the television 2 Displays a wider game space than the lower LCD (see FIG. 43). In step S8, it is determined whether or not to end the game, and a series of processes in steps S2 to S8 are repeatedly executed until it is determined in step S8 that the game is to be ended.
以上で説明した第4のゲーム例のゲーム処理によれば、ハンドヘルドデバイス9の姿勢によって制御面335の姿勢が決定され、タッチパネルに対する入力によって制御面302上で制御位置が決定される。そして、制御位置によって決められる制御方向へ大砲331の弾332が発射される。このように、本ゲーム例によれば、プレイヤは、タッチパネル52を用いて3次元空間における方向を直感的な操作で容易に指示することができる。 According to the game process of the fourth game example described above, the posture of the control surface 335 is determined by the posture of the handheld device 9, and the control position is determined on the control surface 302 by an input to the touch panel. The bullet 332 of the cannon 331 is fired in the control direction determined by the control position. Thus, according to the present game example, the player can easily instruct the direction in the three-dimensional space by an intuitive operation using the touch panel 52.
(第3および第4のゲーム例の変形例)
上記第3および第4のゲーム例においては、CPU10は、ゲーム空間内の所定のオブジェクト(手裏剣301または弾332)の移動方向を制御方向に基づいて制御するゲーム処理を実行した。ここで、CPU10は、オブジェクトの移動方向を制御するゲーム処理に限らず、制御方向に基づくゲーム処理を実行すればよい。例えば、他の実施形態においては、CPU10は、所定位置(例えば仮想カメラの位置)から制御方向に延ばした直線上に配置されるオブジェクトに対して所定の処理を実行してもよい。
(Modifications of the third and fourth game examples)
In the third and fourth game examples, the CPU 10 executes a game process for controlling the moving direction of a predetermined object (shuriken 301 or bullet 332) in the game space based on the control direction. Here, CPU10 should just perform the game process based on a control direction not only the game process which controls the moving direction of an object. For example, in another embodiment, the CPU 10 may execute a predetermined process on an object arranged on a straight line extending in a control direction from a predetermined position (for example, the position of a virtual camera).
上記第3および第4のゲーム例においては、ハンドヘルドデバイス9がタッチパネル52を備える場合を例として説明したが、上述のように、ハンドヘルドデバイス9はタッチパッドを備えていてもよい。また、ハンドヘルドデバイス9はタッチパッドを備える場合、ハンドヘルドデバイス9は表示装置を備えていてもよいし、備えていなくてもよい。 In the third and fourth game examples, the case where the handheld device 9 includes the touch panel 52 has been described as an example. However, as described above, the handheld device 9 may include a touch pad. When the handheld device 9 includes a touch pad, the handheld device 9 may or may not include a display device.
また、タッチパネルまたはタッチパッドとしては、同時に入力された複数の入力位置を検出することが可能な方式(いわゆるマルチタッチ)のものが用いられてもよい。この場合、上記各実施例においては、CPU10は、入力位置毎に制御位置および制御方向を算出してもよい。具体的には、図42に示すゲーム制御処理においては、CPU10は、ステップS64〜S66の処理、および、ステップS68〜S70の処理を、入力位置毎に実行してもよい。また、図45に示すゲーム制御処理においては、CPU10は、ステップS86〜S88の処理を入力位置毎に実行してもよい。 In addition, as the touch panel or the touch pad, a system capable of detecting a plurality of input positions input at the same time (so-called multi-touch) may be used. In this case, in each of the above embodiments, the CPU 10 may calculate the control position and the control direction for each input position. Specifically, in the game control process shown in FIG. 42, the CPU 10 may execute the processes of steps S64 to S66 and the processes of steps S68 to S70 for each input position. In the game control process shown in FIG. 45, the CPU 10 may execute the processes of steps S86 to S88 for each input position.
上記第3および第4のゲーム例においては、ハンドヘルドデバイス9自体を傾ける(姿勢を変化させる)操作によって制御面を制御する場合を例として説明した。すなわち、CPU10は、ハンドヘルドデバイス9の動きに応じて値が変化するデータ(加速度データ312および角速度データ313)に基づいてハンドヘルドデバイス9の姿勢を算出し、ハンドヘルドデバイス9の姿勢に基づいて制御面を制御した。ここで、制御面は、ハンドヘルドデバイス9の動きに応じて少なくとも姿勢が変化するように制御されればよい。例えば、他の実施形態においては、ハンドヘルドデバイス9の位置の変化に応じて制御面が制御されてもよい。具体的には、CPU10は、加速度データ312が表す加速度から重力加速度を除いた加速度に基づいて、ハンドヘルドデバイス9の位置の変化を算出することができる。したがって、例えば上記ステップS61またはS82の処理においては、CPU10は、ハンドヘルドデバイス9の位置の変化に応じて制御面の位置および/または姿勢を変化させてもよい(例えば、ハンドヘルドデバイス9の位置が変化した方向に応じた向きに制御面を傾けるようにしてもよい)。これによれば、ハンドヘルドデバイス9を上下左右に移動させることによって制御面の位置および/または姿勢を変化させることができる。 In the third and fourth game examples, the case where the control surface is controlled by the operation of tilting the handheld device 9 itself (changing the posture) has been described as an example. That is, the CPU 10 calculates the attitude of the handheld device 9 based on data (acceleration data 312 and angular velocity data 313) whose values change according to the movement of the handheld device 9, and controls the control surface based on the attitude of the handheld device 9. Controlled. Here, the control surface may be controlled such that the posture changes at least according to the movement of the handheld device 9. For example, in other embodiments, the control surface may be controlled in response to a change in the position of the handheld device 9. Specifically, the CPU 10 can calculate the change in the position of the handheld device 9 based on the acceleration obtained by removing the gravitational acceleration from the acceleration represented by the acceleration data 312. Therefore, for example, in the process of step S61 or S82 described above, the CPU 10 may change the position and / or posture of the control surface according to the change in the position of the handheld device 9 (for example, the position of the handheld device 9 changes). The control surface may be tilted in a direction corresponding to the selected direction). According to this, the position and / or posture of the control surface can be changed by moving the handheld device 9 up, down, left and right.
[10.変形例]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
[10. Modified example]
The above-described embodiment is an example for carrying out the present invention. In other embodiments, the present invention can be implemented with, for example, the configuration described below.
(入力システムを適用する他の例)
上記各ゲーム例では、仮想空間における3次元位置を算出するための位置算出システムの一例として、プレイヤが操作装置(端末装置7またはハンドヘルドデバイス9)を用いてゲーム操作を行うゲームシステム1を例に説明を行った。ここで、他の実施形態においては、位置算出システムはゲーム用途に限らず、操作装置に対する操作に基づいて仮想空間における3次元位置を算出するための任意の情報処理システムに適用されてもよい。
(Other examples of applying the input system)
In each of the above game examples, as an example of a position calculation system for calculating a three-dimensional position in a virtual space, a game system 1 in which a player performs a game operation using an operation device (terminal device 7 or handheld device 9) is taken as an example. I explained. Here, in another embodiment, the position calculation system is not limited to a game application, and may be applied to any information processing system for calculating a three-dimensional position in a virtual space based on an operation on an operation device.
(仮想空間に設定される面に関する変形例)
上記各ゲーム例では、3次元の仮想空間に設定される面(制御面)は、平面であった。ここで、他の実施形態においては、3次元の仮想空間に設定される面は曲面であってもよい。例えば、面が球面上あるいは円柱の側面上を移動するように制御される場合(図30〜図32)においては、球面あるいは円柱側面に沿った曲面が設定されてもよい。また、上記各ゲーム例では、面は、端末装置7の表示画面の形状と同じ形状であったが、面の形状と表示画面の形状とは異なっていてもよい。なお、上記第1のゲーム例のように、上記面が平面であって、かつ、面が当該面自体に対して平行な方向に移動するように制御される場合には、ユーザが指定可能な範囲は3次元空間における平面内の範囲(奥行き方向の長さを有しない範囲)となる。一方、上記第2〜第4のゲーム例のように、上記面が平面であって、かつ、面が当該面自体に対して平行でない方向に移動するように制御される場合には、ユーザが指定可能な範囲は3次元空間において3次元の範囲(縦、横および奥行き方向の長さを有する範囲)となる。このとき、面は平面であるので、入力面上の位置と面上の位置との対応がユーザにとってわかりやすく、3次元位置の入力操作が容易になる。また、上記面が曲面である場合には、端末装置7の姿勢に応じて面が平行移動する場合であっても、ユーザが指定可能な範囲は3次元空間において3次元の範囲(縦、横および奥行き方向の長さを有する範囲)となる。
(Modifications related to faces set in virtual space)
In each of the above game examples, the plane (control plane) set in the three-dimensional virtual space is a plane. Here, in another embodiment, the surface set in the three-dimensional virtual space may be a curved surface. For example, when the surface is controlled to move on the spherical surface or the side surface of the cylinder (FIGS. 30 to 32), a curved surface along the spherical surface or the cylinder side surface may be set. Moreover, in each said game example, although the surface was the same shape as the shape of the display screen of the terminal device 7, the shape of a surface and the shape of a display screen may differ. In addition, as in the first game example, when the surface is a flat surface and the surface is controlled to move in a direction parallel to the surface itself, the user can specify the surface. The range is a range in a plane in the three-dimensional space (a range not having a length in the depth direction). On the other hand, as in the second to fourth game examples, when the surface is a plane and the surface is controlled to move in a direction not parallel to the surface itself, the user The specifiable range is a three-dimensional range (a range having lengths in the vertical, horizontal, and depth directions) in the three-dimensional space. At this time, since the surface is a flat surface, the correspondence between the position on the input surface and the position on the surface is easy for the user to understand, and the input operation of the three-dimensional position is facilitated. When the surface is a curved surface, the range that can be specified by the user is a three-dimensional range (vertical, horizontal) in the three-dimensional space even when the surface moves in parallel according to the attitude of the terminal device 7. And a range having a length in the depth direction).
また、上記各ゲーム例においては、端末装置7の姿勢に応じて面の姿勢が少なくとも制御された。ここで、他の実施形態においては、端末装置7の動きに応じて仮想空間において面が決定されればよく、ゲームシステム1は、端末装置7の動きに応じて面の位置、姿勢、および形状の少なくとも1つが変化するようにしてもよい。これによれば、入力面に対する入力によって指定可能な範囲(面上の範囲)が端末装置7の動きに応じて変化し、ユーザが3次元位置を指定することが可能となる。なお、上記「端末装置7の動き」には、端末装置7の位置や姿勢、あるいは、位置や姿勢の変化が含まれる。 In each of the above game examples, the posture of the surface is controlled at least according to the posture of the terminal device 7. Here, in another embodiment, the plane may be determined in the virtual space in accordance with the movement of the terminal device 7, and the game system 1 determines the position, posture, and shape of the plane in accordance with the movement of the terminal device 7. At least one of may be changed. According to this, the range (range on the surface) that can be specified by input on the input surface changes according to the movement of the terminal device 7, and the user can specify the three-dimensional position. The “movement of the terminal device 7” includes the position and orientation of the terminal device 7 or changes in the position and orientation.
(ゲームシステムの構成に関する変形例)
上記第2のゲーム例においては、ゲームシステム1は、表示装置として、可搬型の端末装置7と、テレビ2とを含む構成であった。ここで、ゲームシステムは、ユーザ(プレイヤ)が把持可能な操作装置を含む構成であれば、例えば、他の実施形態においては、ゲームシステム1は、1つの表示装置(例えばテレビ2)に上記画像を表示し、端末装置7には画像を表示しない構成であってもよい。また、ゲームシステム1は、端末装置7とは異なる2つの表示装置を含む構成であってもよい。このとき、上記第2のゲーム例におけるテレビ用画像が一方の表示装置に表示され、端末用画像が他方の表示装置に表示される。
(Modification regarding game system configuration)
In the second game example, the game system 1 includes a portable terminal device 7 and the television 2 as display devices. Here, if the game system is configured to include an operation device that can be gripped by the user (player), for example, in another embodiment, the game system 1 displays the image on one display device (for example, the television 2). The terminal device 7 may be configured not to display an image. Further, the game system 1 may include two display devices different from the terminal device 7. At this time, the television image in the second game example is displayed on one display device, and the terminal image is displayed on the other display device.
また、ゲームシステム1は、端末装置7とは別の操作装置として、コントローラ5を含む構成であったが、他の実施形態においては、コントローラ5を含まない構成であってもよい。また、他の実施形態においては、端末装置7に加えてコントローラ5が操作装置としてさらに用いられてもよい。例えば、プレイヤが端末装置7を用いてタッチパネル52に対して線を描くことによって仮想空間内に図形を描いた場合、ゲーム装置3は、描かれた図形をコントローラ5に対する操作に従って移動させたり変形させたりするようにしてもよい。 Moreover, although the game system 1 was the structure containing the controller 5 as an operating device different from the terminal device 7, the structure which does not contain the controller 5 may be sufficient in other embodiment. In another embodiment, the controller 5 may be further used as an operation device in addition to the terminal device 7. For example, when the player draws a figure in the virtual space by drawing a line on the touch panel 52 using the terminal device 7, the game apparatus 3 moves or deforms the drawn figure in accordance with an operation on the controller 5. You may make it do.
また、仮想空間における3次元位置を算出するための位置算出システムは、複数の装置で実現されるものに限らず、1つの装置によって実現されてもよい。例えば、表示部と、入力面に対する入力が可能な入力デバイス(タッチパネルやタッチパッド等)とを備える携帯型の情報処理装置(ゲーム装置であってもよい)によって位置算出システムが実現されてもよい。このとき、情報処理装置は、タッチパネルが設けられる表示画面に上記第2のゲーム例における端末用画像を表示し、もう一方の表示画面に上記第2のゲーム例におけるテレビ用画像を表示する。また、情報処理装置は、自身の姿勢を算出するための物理量を検出するセンサ(例えば、ジャイロセンサや加速度センサ)を備えていてもよい。 Further, the position calculation system for calculating the three-dimensional position in the virtual space is not limited to that realized by a plurality of devices, and may be realized by one device. For example, the position calculation system may be realized by a portable information processing device (may be a game device) including a display unit and an input device (such as a touch panel or a touchpad) that can input on the input surface. . At this time, the information processing apparatus displays the terminal image in the second game example on the display screen provided with the touch panel, and displays the television image in the second game example on the other display screen. Further, the information processing apparatus may include a sensor (for example, a gyro sensor or an acceleration sensor) that detects a physical quantity for calculating its own posture.
(入力面における入力位置の検出方法に関する変形例)
上記各ゲーム例においては、操作装置(端末装置7またはハンドヘルドデバイス9)は、所定の入力面に対する入力位置を検出する位置検出部の一例として、LCDの表画面に設けられるタッチパネル52を備える構成であった。ここで、他の実施形態においては、位置検出部は、例えばタッチパッドであってもよい。つまり、端末装置7およびハンドヘルドデバイス9は、表示部(LCD51)およびタッチパネル52を備えず、タッチパッドを備える構成であってもよい。また、操作装置は、LCDにカーソルを表示し、所定の方向入力操作(例えば、アナログスティックや十字ボタンに対する操作)に従って当該カーソルを移動させ、当該カーソルの位置を入力位置として用いてもよい。
(Variation regarding input position detection method on input surface)
In each of the above game examples, the operation device (the terminal device 7 or the handheld device 9) includes a touch panel 52 provided on the front surface of the LCD as an example of a position detection unit that detects an input position with respect to a predetermined input surface. there were. Here, in another embodiment, the position detection unit may be a touch pad, for example. That is, the terminal device 7 and the handheld device 9 may be configured to include a touch pad without including the display unit (LCD 51) and the touch panel 52. The operation device may display a cursor on the LCD, move the cursor according to a predetermined direction input operation (for example, an operation on an analog stick or a cross button), and use the position of the cursor as an input position.
(ゲーム処理を実行する情報処理装置に関する変形例)
上記各ゲーム例においては、ゲームシステム1において実行される一連のゲーム処理をゲーム装置3が実行したが、ゲーム処理の一部は他の装置によって実行されてもよい。例えば、他の実施形態においては、ゲーム処理の一部(例えば、端末用画像の生成処理)を端末装置7が実行するようにしてもよい。また、他の実施形態では、互いに通信可能な複数の情報処理装置を有する位置算出システムにおいて、当該複数の情報処理装置がゲーム処理を分担して実行するようにしてもよい。
(Modification regarding information processing apparatus for executing game processing)
In each of the above game examples, the game apparatus 3 executes a series of game processes executed in the game system 1, but a part of the game processes may be executed by another apparatus. For example, in another embodiment, the terminal device 7 may execute a part of the game processing (for example, terminal image generation processing). In another embodiment, in a position calculation system having a plurality of information processing devices that can communicate with each other, the plurality of information processing devices may share and execute game processing.
なお、複数の情報処理装置において上記の情報処理が実行される場合には、各情報処理装置で実行される処理を同期させる必要があり、情報処理が複雑になってしまう。これに対して、上記各ゲーム例のように、情報処理が1つのゲーム装置3によって実行され、端末装置7が画像を受信して表示する処理を行う場合(つまり、端末装置7やハンドヘルドデバイス9がシンクライアント端末として機能する場合)には、複数の情報処理装置間で情報処理の同期をとる必要がなく、情報処理を簡易化することができる。 In addition, when said information processing is performed in several information processing apparatus, it is necessary to synchronize the process performed by each information processing apparatus, and information processing will become complicated. On the other hand, when the information processing is executed by one game device 3 and the terminal device 7 receives and displays an image as in the above-described game examples (that is, the terminal device 7 or the handheld device 9). Is functioning as a thin client terminal), it is not necessary to synchronize information processing among a plurality of information processing devices, and information processing can be simplified.
上記のように、本明細書で説明した種々のシステム、方法、および技術は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはこれら要素の組み合わせによって提供されてもよい。上記の技術を実現するための装置は、プログラム可能なプロセッサによる実行のためのコンピュータ読み取り可能な非一時的な記憶装置において実体的に具体化されるコンピュータプログラムプロダクト、入出力装置、およびコンピュータプロセッサを含んでもよい。上記技術を実現するための処理は、入力データを処理して所望の出力を生成することによって、要求される機能を実行するためのプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。上記の技術は、入力装置、出力装置、および情報記憶装置といったハードウェア資源との間でデータや指示のやり取りを行うプログラム可能なプロセッサを含むコンピュータシステム上で実行可能な1以上のコンピュータプログラムによって実現されてもよい。また、各コンピュータプログラムは、手続型やオブジェクト指向型の高水準プログラミング言語、アセンブリ言語、または、機械語によって実現されてもよく、必要に応じてコンパイルまたはインタプリタされて実行されてもよい。また、上記のプロセッサは、汎用または専用のマイクロプロセッサであってもよい。プロセッサは、一般的に、ROMまたはRAMからデータおよび指示を受け取る。また、上記の記憶装置は、(a)EPROM、EEPROM、フラッシュメモリのような半導体メモリ装置を含む不揮発性のメモリ、(b)内部ハードディスクあるいは着脱可能な外部ディスクのような磁気ディスク、(c)光磁気ディスク、(d)CDROM、に限定されず、あらゆる種類のコンピュータメモリを含む。上記のプロセッサや記憶装置は、ASIC(Application Specific Integrated Circuit)によって補充される、あるいは、ASICに組み込まれる形で実現されてもよい。 As noted above, the various systems, methods, and techniques described herein may be provided by digital electronic circuitry, computer hardware, firmware, software, or a combination of these elements. An apparatus for implementing the above technique includes a computer program product, an input / output device, and a computer processor that are embodied in a computer-readable non-transitory storage device for execution by a programmable processor. May be included. The process for realizing the above technique may be executed by a programmable processor that executes a program for executing a required function by processing input data and generating a desired output. The above technique is realized by one or more computer programs that can be executed on a computer system including a programmable processor that exchanges data and instructions with hardware resources such as an input device, an output device, and an information storage device. May be. Each computer program may be realized by a procedural or object-oriented high-level programming language, assembly language, or machine language, and may be compiled or interpreted as necessary. The above processor may be a general-purpose or dedicated microprocessor. The processor typically receives data and instructions from ROM or RAM. The storage device includes (a) a nonvolatile memory including a semiconductor memory device such as an EPROM, an EEPROM, or a flash memory, (b) a magnetic disk such as an internal hard disk or a removable external disk, and (c). It is not limited to a magneto-optical disk (d) CDROM, but includes all kinds of computer memory. The processor and the storage device described above may be supplemented by an ASIC (Application Specific Integrated Circuit) or may be implemented in a form incorporated in the ASIC.
また、本明細書に記載の処理システム(回路)は、本明細書において記載された内容に応じたゲーム処理のような制御処理のためにプログラムされる。上記の内容に応じた指示を実行する少なくとも1つのCPUを含む処理システムが、上記の内容によって定義される処理動作を実行するための「プログラムされた論理回路」として作用するものであってもよい。 Further, the processing system (circuit) described in this specification is programmed for control processing such as game processing according to the contents described in this specification. A processing system including at least one CPU that executes an instruction according to the above contents may act as a “programmed logic circuit” for executing a processing operation defined by the above contents. .
以上のように、本発明は、3次元空間における位置を容易に指定すること等を目的として、例えばゲームシステムやゲーム装置や情報処理プログラムとして利用することが可能である。 As described above, the present invention can be used as, for example, a game system, a game device, or an information processing program for the purpose of easily specifying a position in a three-dimensional space.
1 ゲームシステム
2 テレビ
3 ゲーム装置
4 光ディスク
5 コントローラ
6 マーカ装置
7 端末装置
10 CPU
11e 内部メインメモリ
12 外部メインメモリ
51 LCD
52 タッチパネル
73 加速度センサ
74 ジャイロセンサ
80 無線モジュール
91 鍵盤オブジェクト
92 端末オブジェクト
94,201 面
100,210,310 ゲームプログラム
101 端末操作データ
109 端末姿勢データ
111 面データ
113 指定位置データ
302 制御面
DESCRIPTION OF SYMBOLS 1 Game system 2 Television 3 Game device 4 Optical disk 5 Controller 6 Marker device 7 Terminal device 10 CPU
11e Internal main memory 12 External main memory 51 LCD
52 Touch Panel 73 Acceleration Sensor 74 Gyro Sensor 80 Wireless Module 91 Keyboard Object 92 Terminal Object 94, 201 Surface 100, 210, 310 Game Program 101 Terminal Operation Data 109 Terminal Attitude Data 111 Surface Data 113 Specified Position Data 302 Control Surface
Claims (32)
前記操作装置の姿勢と、前記操作装置に設けられた所定の入力面に対する入力位置とに基づいて前記仮想空間内の位置を算出する、位置算出システム。 A position calculation system that calculates a position in a three-dimensional virtual space based on an operation on an operation device,
A position calculation system that calculates a position in the virtual space based on an attitude of the operation device and an input position with respect to a predetermined input surface provided in the operation device.
前記操作装置は、
前記入力面に対する入力位置を検出する位置検出部と、
前記姿勢を算出するためのデータを出力するセンサ部と、
前記位置検出部および前記センサ部から出力されるデータを前記情報処理装置へ送信するデータ送信部を備え、
前記情報処理装置は、
前記センサ部が出力するデータに基づいて、前記操作装置の姿勢を算出する姿勢算出部と、
前記姿勢と前記入力位置とに基づいて前記仮想空間内の位置を算出する位置算出部とを備える、請求項1に記載の位置算出システム。 Including the operating device and an information processing device;
The operating device is:
A position detector for detecting an input position with respect to the input surface;
A sensor unit for outputting data for calculating the posture;
A data transmission unit for transmitting data output from the position detection unit and the sensor unit to the information processing apparatus;
The information processing apparatus includes:
An attitude calculation unit that calculates an attitude of the operating device based on data output by the sensor unit;
The position calculation system according to claim 1, further comprising a position calculation unit that calculates a position in the virtual space based on the posture and the input position.
前記面の領域を含む仮想空間を表す画像を表示する表示部と、
前記表示部の画面上に設けられるタッチパネルとを備え、
前記位置算出部は、前記タッチパネルに対する入力位置と、当該入力位置に基づいて算出される面上の位置とが画面上において一致するように、当該位置を算出する、請求項6または請求項7に記載の位置算出システム。 The operating device is:
A display unit for displaying an image representing a virtual space including the area of the surface;
A touch panel provided on the screen of the display unit,
The position calculation unit calculates the position so that an input position with respect to the touch panel and a position on the surface calculated based on the input position match on the screen. The position calculation system described.
前記操作装置の姿勢の変化に応じて前記複数の領域上を移動するように前記仮想空間において面を設定し、
前記面上の位置を前記入力位置に基づいて算出する、請求項10に記載の位置算出システム。 The plurality of regions are arranged in a substantially arc shape,
Setting a surface in the virtual space to move on the plurality of areas in accordance with a change in the attitude of the operating device;
The position calculation system according to claim 10, wherein a position on the surface is calculated based on the input position.
所定の表示装置に表示するための画像として、前記所定のオブジェクトを含む仮想空間を表す画像を生成する画像生成部とを備え、
前記処理実行部は、前記入力位置に基づく前記仮想空間内の位置として前記所定のオブジェクトの位置が算出された場合に所定の処理を実行する、請求項9から請求項11に記載の位置算出システム。 An object setting unit for setting the predetermined object in the virtual space;
An image generation unit for generating an image representing a virtual space including the predetermined object as an image to be displayed on the predetermined display device;
The position calculation system according to claim 9, wherein the process execution unit executes a predetermined process when the position of the predetermined object is calculated as a position in the virtual space based on the input position. .
前記操作装置が備える表示装置に表示するための画像として、前記操作装置の姿勢に応じて範囲が変化するように前記オブジェクトの一部の範囲を表す画像を生成する第1生成部と、
前記操作装置が備える表示装置とは別の表示装置に表示するための画像として、前記オブジェクトのうちの前記一部の範囲よりも広い範囲を表す画像を生成する第2生成部とを含む、請求項12に記載の位置算出システム。 The image generation unit
A first generation unit configured to generate an image representing a partial range of the object so that the range changes according to a posture of the operating device as an image to be displayed on a display device included in the operating device;
A second generation unit configured to generate an image representing a range wider than the partial range of the object as an image to be displayed on a display device different from a display device included in the operation device; Item 13. The position calculation system according to item 12.
所定の表示装置に表示するための画像として、前記オブジェクトを含む前記仮想空間を表す画像を生成する画像生成部とを備える、請求項1から請求項3のいずれか1項に記載の位置算出システム。 An object placement unit for placing an object whose posture is controlled corresponding to the posture of the operating device in the virtual space;
The position calculation system according to any one of claims 1 to 3, further comprising: an image generation unit that generates an image representing the virtual space including the object as an image to be displayed on a predetermined display device. .
前記入力位置に基づく前記仮想空間内の位置として前記鍵盤の位置が算出された場合、当該位置に対応する鍵盤に応じた音を所定の音声出力部に出力させる、請求項1から請求項3のいずれか1項に記載の位置算出システム。 The operating device includes a display unit that displays a keyboard arranged in a virtual space,
The sound according to the keyboard corresponding to the position is output to a predetermined sound output unit when the position of the keyboard is calculated as the position in the virtual space based on the input position. The position calculation system according to any one of claims.
前記操作装置の姿勢と、前記操作装置に設けられた所定の入力面に対する入力位置とに基づいて前記仮想空間内の位置を算出する、位置算出方法。 A position calculation method for calculating a position in a three-dimensional virtual space based on an operation on an operating device,
A position calculation method for calculating a position in the virtual space based on an attitude of the operation device and an input position with respect to a predetermined input surface provided in the operation device.
前記操作装置は、
前記入力面に対する入力位置を検出する位置検出ステップと、
前記入力位置のデータと、前記姿勢を算出するためのデータとを前記情報処理装置へ送信するデータ送信ステップとを実行し、
前記情報処理装置は、
前記姿勢を算出するためのデータに基づいて、前記操作装置の姿勢を算出する姿勢算出ステップと、
前記姿勢と前記入力位置とに基づいて前記仮想空間内の位置を算出する位置算出ステップとを実行する、請求項16に記載の位置算出方法。 The position calculation method is executed in a system including the operation device and an information processing device,
The operating device is:
A position detecting step for detecting an input position with respect to the input surface;
Performing a data transmission step of transmitting data of the input position and data for calculating the attitude to the information processing apparatus;
The information processing apparatus includes:
A posture calculating step for calculating a posture of the controller device based on data for calculating the posture;
The position calculation method according to claim 16, wherein a position calculation step of calculating a position in the virtual space based on the posture and the input position is executed.
前記面の領域を含む仮想空間を表す画像を表示する表示部と、
前記表示部の画面上に設けられるタッチパネルとを備え、
前記位置算出ステップにおいては、前記タッチパネルに対する入力位置と、当該入力位置に基づいて算出される面上の位置とが画面上において一致するように、当該位置が算出される、請求項19または請求項20に記載の位置算出方法。 The operating device is:
A display unit for displaying an image representing a virtual space including the area of the surface;
A touch panel provided on the screen of the display unit,
The position is calculated so that the input position with respect to the touch panel and the position on the surface calculated based on the input position coincide on the screen in the position calculation step. The position calculation method according to 20.
前記操作装置の姿勢の変化に応じて前記複数の領域上を移動するように前記仮想空間において面を設定し、
前記面上の位置を前記入力位置に基づいて算出する、請求項23に記載の位置算出方法。 The plurality of regions are arranged in a substantially arc shape,
Setting a surface in the virtual space to move on the plurality of areas in accordance with a change in the attitude of the operating device;
The position calculation method according to claim 23, wherein a position on the surface is calculated based on the input position.
所定の表示装置に表示するための画像として、前記所定のオブジェクトを含む仮想空間を表す画像を生成する画像生成ステップとを備え、
前記処理実行ステップにおいては、前記入力位置に基づく前記仮想空間内の位置として前記所定のオブジェクトの位置が算出された場合に所定の処理が実行される、請求項22から請求項24に記載の位置算出方法。 An object setting step for setting the predetermined object in the virtual space;
An image generation step of generating an image representing a virtual space including the predetermined object as an image to be displayed on a predetermined display device;
25. The position according to claim 22, wherein in the process execution step, a predetermined process is executed when a position of the predetermined object is calculated as a position in the virtual space based on the input position. Calculation method.
前記操作装置が備える表示装置に表示するための画像として、前記操作装置の姿勢に応じて範囲が変化するように前記オブジェクトの一部の範囲を表す画像を生成する第1生成ステップと、
前記操作装置が備える表示装置とは別の表示装置に表示するための画像として、前記オブジェクトのうちの前記一部の範囲よりも広い範囲を表す画像を生成する第2生成ステップとを含む、請求項25に記載の位置算出方法。 The image generation step includes
A first generation step of generating an image representing a partial range of the object such that the range changes according to the attitude of the operating device as an image to be displayed on a display device included in the operating device;
A second generation step of generating an image representing a range wider than the partial range of the object as an image to be displayed on a display device different from a display device included in the operation device. Item 26. The position calculation method according to Item 25.
所定の表示装置に表示するための画像として、前記オブジェクトを含む前記仮想空間を表す画像を生成する画像生成ステップとを備える、請求項16または請求項17に記載の位置算出方法。 An object placement step of placing in the virtual space an object whose posture is controlled corresponding to the posture of the operating device;
The position calculation method according to claim 16, further comprising: an image generation step of generating an image representing the virtual space including the object as an image to be displayed on a predetermined display device.
前記入力位置に基づく前記仮想空間内の位置として前記鍵盤の位置が算出された場合、当該位置に対応する鍵盤に応じた音を所定の音声出力部に出力させる、請求項16または請求項17に記載の位置算出方法。 Display the keyboard arranged in the virtual space on the display unit provided in the operating device,
When the position of the keyboard is calculated as a position in the virtual space based on the input position, a sound corresponding to the keyboard corresponding to the position is output to a predetermined sound output unit. The position calculation method described.
前記操作装置の姿勢と、前記操作装置に設けられた所定の入力面に対する入力位置とに基づいて前記仮想空間内の位置を算出する、位置算出装置。 A position calculation device that calculates a position in a three-dimensional virtual space based on an operation on an operation device,
A position calculation device that calculates a position in the virtual space based on an attitude of the operation device and an input position with respect to a predetermined input surface provided in the operation device.
前記入力位置に基づく前記仮想空間内の位置として前記鍵盤の位置が算出された場合、所定の音声出力部に出力させる音声として、当該位置に対応する鍵盤に応じた音を生成する、請求項29に記載の位置算出装置。 As an image to be displayed on a display unit provided in the operation device, an image representing a keyboard arranged in the virtual space is generated,
30. When the position of the keyboard is calculated as a position in the virtual space based on the input position, a sound corresponding to the keyboard corresponding to the position is generated as a sound to be output to a predetermined sound output unit. The position calculation device described in 1.
前記操作装置の姿勢と、前記操作装置に設けられた所定の入力面に対する入力位置とに基づいて前記仮想空間内の位置を算出する位置算出手段として前記コンピュータを機能させる、位置算出プログラム。 A position calculation program for causing a computer of a position calculation device to calculate a position in a three-dimensional virtual space based on an operation on the operation device,
A position calculation program for causing the computer to function as position calculation means for calculating a position in the virtual space based on an attitude of the operation device and an input position with respect to a predetermined input surface provided in the operation device.
前記入力位置に基づく前記仮想空間内の位置として前記鍵盤の位置が算出された場合、所定の音声出力部に出力させる音声として、当該位置に対応する鍵盤に応じた音を生成する音声生成手段として前記コンピュータをさらに機能させる、請求項31に記載の位置算出プログラム。 Image generating means for generating an image representing a keyboard arranged in the virtual space, as an image to be displayed on a display unit provided in the operation device;
When the position of the keyboard is calculated as a position in the virtual space based on the input position, as sound generating means for generating sound corresponding to the keyboard corresponding to the position as sound to be output to a predetermined sound output unit The position calculation program according to claim 31, further causing the computer to function.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011126525A JP5988549B2 (en) | 2010-08-20 | 2011-06-06 | POSITION CALCULATION SYSTEM, POSITION CALCULATION DEVICE, POSITION CALCULATION PROGRAM, AND POSITION CALCULATION METHOD |
| US13/209,756 US10150033B2 (en) | 2010-08-20 | 2011-08-15 | Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010185315 | 2010-08-20 | ||
| JP2010185315 | 2010-08-20 | ||
| JP2011126525A JP5988549B2 (en) | 2010-08-20 | 2011-06-06 | POSITION CALCULATION SYSTEM, POSITION CALCULATION DEVICE, POSITION CALCULATION PROGRAM, AND POSITION CALCULATION METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012064199A true JP2012064199A (en) | 2012-03-29 |
| JP5988549B2 JP5988549B2 (en) | 2016-09-07 |
Family
ID=46059793
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011126525A Active JP5988549B2 (en) | 2010-08-20 | 2011-06-06 | POSITION CALCULATION SYSTEM, POSITION CALCULATION DEVICE, POSITION CALCULATION PROGRAM, AND POSITION CALCULATION METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5988549B2 (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012088764A (en) * | 2010-10-15 | 2012-05-10 | Sony Corp | Input device, input control system, information processing method, and program |
| JP5200196B1 (en) * | 2012-04-20 | 2013-05-15 | 任天堂株式会社 | Game system and game controller |
| JP5200195B1 (en) * | 2012-04-20 | 2013-05-15 | 任天堂株式会社 | Game system, game controller |
| WO2013099381A1 (en) * | 2011-12-26 | 2013-07-04 | 株式会社コナミデジタルエンタテインメント | Game system, selection method, information recording medium, and program |
| WO2013157052A1 (en) * | 2012-04-20 | 2013-10-24 | 任天堂株式会社 | Game controller |
| JP2014026413A (en) * | 2012-07-26 | 2014-02-06 | Fujitsu Ten Ltd | Electronic device, communication system, portable communication terminal, communication method and program |
| WO2014181587A1 (en) * | 2013-05-07 | 2014-11-13 | 株式会社セガ | Portable terminal device |
| JP2016062081A (en) * | 2014-09-22 | 2016-04-25 | ヤマハ株式会社 | Music teaching device |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06285259A (en) * | 1993-03-31 | 1994-10-11 | Sega Enterp Ltd | Liquid crystal controller |
| JPH096526A (en) * | 1995-06-21 | 1997-01-10 | Toshiba Corp | Three-dimensional pointing device |
| JP2001034247A (en) * | 1999-07-19 | 2001-02-09 | Minolta Co Ltd | Video display device |
| JP2003085590A (en) * | 2001-09-13 | 2003-03-20 | Nippon Telegr & Teleph Corp <Ntt> | Three-dimensional information operation method and device, three-dimensional information operation program, and recording medium for the program |
| JP2006301654A (en) * | 2006-05-08 | 2006-11-02 | Fujitsu Ltd | Image presentation device |
| JP2008067853A (en) * | 2006-09-13 | 2008-03-27 | Namco Bandai Games Inc | Program, information storage medium, and image generation system |
| JP2009536058A (en) * | 2006-05-05 | 2009-10-08 | ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド | Display device and method |
| JP2010017395A (en) * | 2008-07-11 | 2010-01-28 | Namco Bandai Games Inc | Program, information storage medium, and game machine |
| WO2010088477A1 (en) * | 2009-01-29 | 2010-08-05 | Immersion Corporation | Systems and methods for interpreting physical interactions with a graphical user interface |
| JP2010539849A (en) * | 2007-09-18 | 2010-12-16 | トムソン ライセンシング | User interface for set-top boxes |
| JP2012507091A (en) * | 2008-10-27 | 2012-03-22 | ソーシャル・ゲーミング・ネットワーク | Device, method and system for interactive proximity display tether |
-
2011
- 2011-06-06 JP JP2011126525A patent/JP5988549B2/en active Active
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06285259A (en) * | 1993-03-31 | 1994-10-11 | Sega Enterp Ltd | Liquid crystal controller |
| JPH096526A (en) * | 1995-06-21 | 1997-01-10 | Toshiba Corp | Three-dimensional pointing device |
| JP2001034247A (en) * | 1999-07-19 | 2001-02-09 | Minolta Co Ltd | Video display device |
| JP2003085590A (en) * | 2001-09-13 | 2003-03-20 | Nippon Telegr & Teleph Corp <Ntt> | Three-dimensional information operation method and device, three-dimensional information operation program, and recording medium for the program |
| JP2009536058A (en) * | 2006-05-05 | 2009-10-08 | ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド | Display device and method |
| JP2006301654A (en) * | 2006-05-08 | 2006-11-02 | Fujitsu Ltd | Image presentation device |
| JP2008067853A (en) * | 2006-09-13 | 2008-03-27 | Namco Bandai Games Inc | Program, information storage medium, and image generation system |
| JP2010539849A (en) * | 2007-09-18 | 2010-12-16 | トムソン ライセンシング | User interface for set-top boxes |
| JP2010017395A (en) * | 2008-07-11 | 2010-01-28 | Namco Bandai Games Inc | Program, information storage medium, and game machine |
| JP2012507091A (en) * | 2008-10-27 | 2012-03-22 | ソーシャル・ゲーミング・ネットワーク | Device, method and system for interactive proximity display tether |
| WO2010088477A1 (en) * | 2009-01-29 | 2010-08-05 | Immersion Corporation | Systems and methods for interpreting physical interactions with a graphical user interface |
| JP2012516518A (en) * | 2009-01-29 | 2012-07-19 | イマージョン コーポレイション | System and method for interpreting physical interaction with a graphical user interface |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012088764A (en) * | 2010-10-15 | 2012-05-10 | Sony Corp | Input device, input control system, information processing method, and program |
| US8956226B2 (en) | 2011-12-26 | 2015-02-17 | Konami Digital Entertainment Co., Ltd. | Game system, selection method, and information recording medium |
| WO2013099381A1 (en) * | 2011-12-26 | 2013-07-04 | 株式会社コナミデジタルエンタテインメント | Game system, selection method, information recording medium, and program |
| JP2013150776A (en) * | 2011-12-26 | 2013-08-08 | Konami Digital Entertainment Co Ltd | Game system, selection method, and program |
| JP5200196B1 (en) * | 2012-04-20 | 2013-05-15 | 任天堂株式会社 | Game system and game controller |
| WO2013157052A1 (en) * | 2012-04-20 | 2013-10-24 | 任天堂株式会社 | Game controller |
| WO2013157054A1 (en) * | 2012-04-20 | 2013-10-24 | 任天堂株式会社 | Game system and game controller |
| JP5200195B1 (en) * | 2012-04-20 | 2013-05-15 | 任天堂株式会社 | Game system, game controller |
| US9517407B2 (en) | 2012-04-20 | 2016-12-13 | Nintendo Co., Ltd. | Game system and game controller |
| WO2013157053A1 (en) * | 2012-04-20 | 2013-10-24 | 任天堂株式会社 | Game system and game controller |
| JPWO2013157052A1 (en) * | 2012-04-20 | 2015-12-21 | 任天堂株式会社 | Game controller |
| US8715080B2 (en) | 2012-04-20 | 2014-05-06 | Nintendo Co., Ltd. | Game system, game controller |
| JP2014026413A (en) * | 2012-07-26 | 2014-02-06 | Fujitsu Ten Ltd | Electronic device, communication system, portable communication terminal, communication method and program |
| WO2014181587A1 (en) * | 2013-05-07 | 2014-11-13 | 株式会社セガ | Portable terminal device |
| JP2014219800A (en) * | 2013-05-07 | 2014-11-20 | 株式会社セガ | Portable terminal device |
| JP2016062081A (en) * | 2014-09-22 | 2016-04-25 | ヤマハ株式会社 | Music teaching device |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5988549B2 (en) | 2016-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5689014B2 (en) | Input system, information processing apparatus, information processing program, and three-dimensional position calculation method | |
| JP5901891B2 (en) | GAME SYSTEM, GAME PROCESSING METHOD, GAME DEVICE, AND GAME PROGRAM | |
| US10150033B2 (en) | Position calculation system, position calculation device, storage medium storing position calculation program, and position calculation method | |
| JP6184658B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| TWI440496B (en) | Controller device and controller system | |
| JP5692904B2 (en) | Input system, information processing apparatus, information processing program, and pointing position calculation method | |
| JP5745340B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND IMAGE GENERATION METHOD | |
| JP5829020B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| KR101492310B1 (en) | Operating apparatus and information processing apparatus | |
| JP5800526B2 (en) | GAME DEVICE, GAME PROGRAM, GAME SYSTEM, AND GAME PROCESSING METHOD | |
| JP5840386B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| JP5869236B2 (en) | Information processing program, information processing apparatus, information processing system, and information processing method | |
| JP5943554B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| JP5988549B2 (en) | POSITION CALCULATION SYSTEM, POSITION CALCULATION DEVICE, POSITION CALCULATION PROGRAM, AND POSITION CALCULATION METHOD | |
| JP6188766B2 (en) | Operating device and operating system | |
| JP5756299B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| JP5829040B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND IMAGE GENERATION METHOD | |
| JP5757741B2 (en) | GAME SYSTEM, GAME DEVICE, GAME PROGRAM, AND GAME PROCESSING METHOD | |
| JP5937792B2 (en) | GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME PROCESSING METHOD | |
| JP6045777B2 (en) | Direction control system, direction control device, direction control program, and direction control method | |
| HK1171400B (en) | Controller device and controller system | |
| HK1165745A1 (en) | Controller device and controller system | |
| HK1165745B (en) | Controller device and controller system | |
| HK1171399B (en) | Device support system and support device | |
| HK1171403B (en) | Controller device and information processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140425 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150220 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150325 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150521 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151021 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160118 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20160125 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20160219 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160809 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5988549 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 |