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

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

Info

Publication number
WO2023157322A1
WO2023157322A1 PCT/JP2022/009228 JP2022009228W WO2023157322A1 WO 2023157322 A1 WO2023157322 A1 WO 2023157322A1 JP 2022009228 W JP2022009228 W JP 2022009228W WO 2023157322 A1 WO2023157322 A1 WO 2023157322A1
Authority
WO
WIPO (PCT)
Prior art keywords
united
virtual
user
united object
control stick
Prior art date
Application number
PCT/JP2022/009228
Other languages
English (en)
French (fr)
Inventor
直希 深田
朗 古川
貴裕 高山
祐也 佐藤
滝授 前野
Original Assignee
任天堂株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 任天堂株式会社 filed Critical 任天堂株式会社
Priority to JP2023523125A priority Critical patent/JPWO2023157322A1/ja
Priority to PCT/JP2022/009228 priority patent/WO2023157322A1/ja
Priority to CN202280035224.9A priority patent/CN117337206A/zh
Priority to US18/303,695 priority patent/US20230277936A1/en
Publication of WO2023157322A1 publication Critical patent/WO2023157322A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks

Definitions

  • the present invention relates to an information processing system, an information processing program, an information processing method, and an information processing apparatus capable of combining a plurality of virtual objects by user's operation.
  • Patent Document 1 there is a game system in which a plurality of objects are integrally configured by moving an operation target object and bringing it into contact with an object existing in a virtual space.
  • an object of the present invention is to provide an information processing system, an information processing program, an information processing method, and an information processing system capable of improving usability when assembling a plurality of virtual objects to generate an object composed of a plurality of virtual objects. It is to provide a processing device.
  • the present invention adopts the following configuration.
  • An information processing system of the present invention is an information processing system comprising a processor that performs game processing based on user input, wherein the processor generates a united object by combining a plurality of virtual objects based on user input. and a united object control unit that controls the united object placed in the virtual space.
  • the plurality of virtual objects includes a virtual power object that powers the united object when incorporated as part of the united object, and a virtual controller object that can be incorporated as part of the united object. .
  • the united object control means when the united object includes the virtual power object and the virtual controller object, operates the virtual power object to move the united object in a predetermined traveling direction, and controls the united object based on a user's input. to change the moving direction of the united object.
  • the user can generate a united object including a virtual controller object by assembling a plurality of virtual objects, and can control the movement of the united object.
  • the operating state of the virtual power object may include an ON state in which the power is applied and an OFF state in which the power is not applied.
  • the processor may function as operation state setting means for setting the operation state of one of the virtual power objects to the ON state or the OFF state based on a user's input.
  • the united object generating means may generate the united object including the virtual controller object and a plurality of the virtual power objects.
  • the united object control means may bring all the virtual power objects included in the united object into the ON state or the OFF state at the same time.
  • the user's convenience can be improved compared to the case of turning ON or OFF states one by one.
  • the united object generating means may place the virtual controller object at a position specified by the user in the united object.
  • the virtual controller object can be placed at the user's desired position in the united object, and the degree of freedom when generating the united object can be increased.
  • the virtual object that constitutes the united object may be provided with a priority portion that is prioritized over other portions.
  • the united object generating means may preferentially place the virtual controller object in the priority portion of the virtual object that constitutes the united object.
  • the processor may also function as user character moving means for moving the user character within the virtual space.
  • the user character moving means may move the user character to a position corresponding to the virtual controller object based on user input.
  • the united object control means may control the united object according to a user's input when the user character exists at a position corresponding to the virtual controller object.
  • the united object when the user character exists at the position corresponding to the virtual controller object, the united object can be controlled.
  • the united object control means causes the user character to operate the virtual controller object based on the user's input, thereby changing the orientation of at least a part of the virtual controller object and moving the united object. You can change the direction.
  • the united object control means may change the moving direction of the united object in a direction according to the user's input direction regardless of the position of the virtual controller object in the united object.
  • the user can change the movement direction of the united object with the same operation, thereby improving convenience.
  • the united object generating means may place the virtual controller object in the united object in an orientation designated by the user.
  • the virtual controller object can be arranged in a desired orientation, and the degree of freedom when generating the united object can be increased.
  • the united object control means may change the moving direction of the united object in a direction according to the user's input direction regardless of the orientation of the virtual controller object in the united object.
  • the user can change the movement direction of the united object with the same operation regardless of which direction the virtual controller object is placed.
  • the united object control means may change the movement direction of the united object by giving the united object a rotation speed around the position of the center of gravity of the united object.
  • the moving direction of the united object can be changed.
  • the united object control means may change the moving direction of the united object by giving each virtual object constituting the united object a rotational speed around the position of the center of gravity of the united object. .
  • the united object can be rotated by giving a rotation speed to each virtual object, and even if the user generates the united object using various virtual objects, the moving direction of the united object can be changed. can be changed.
  • the united object may be an object that moves while contacting the ground in the virtual space.
  • the united object control means may reduce the friction between the united object and the ground as compared to moving the united object in the predetermined direction.
  • the processor is configured as posture correcting means for correcting the posture of the united object in the roll direction or the pitch direction so that the virtual controller object included in the united object has a predetermined posture in the virtual space. It may work even better.
  • the orientation of the virtual controller object can be maintained at a predetermined orientation.
  • the united object generation means may be capable of generating a first united object including a plurality of the virtual objects and a second united object including a plurality of the virtual objects.
  • the virtual controller object may be capable of being incorporated into both the first merged object and the second merged object.
  • a common virtual controller object can be incorporated whether the user generates the first united object or the second united object.
  • another invention may be an information processing apparatus including the above means, or an information processing program that causes a computer of the information processing apparatus to function as the above means.
  • Another invention may be an information processing method performed in the information processing system.
  • a united object including a virtual controller object can be generated by combining a plurality of virtual objects, and the movement of the united object can be controlled.
  • FIG. 4 shows an example of a state in which the left controller 3 and the right controller 4 are attached to the main unit 2; A diagram showing an example of a state in which the left controller 3 and the right controller 4 are removed from the main unit 2.
  • Six views showing an example of the main unit 2 Six views showing an example of the left controller 3
  • Six views showing an example of the right controller 4 FIG. 2 is a block diagram showing an example of the internal configuration of the main unit 2; A block diagram showing an example of the internal configuration of the main unit 2 and the left controller 3 and right controller 4.
  • a diagram showing how an airplane object 75 is generated as an example of a united object.
  • a diagram showing how an airplane object 75 is generated as an example of a united object.
  • a diagram showing how an airplane object 75 is generated as an example of a united object.
  • a diagram showing how an airplane object 75 is generated as an example of a united object.
  • a diagram showing how an airplane object 75 is generated as an example of a united object.
  • a diagram showing an example of how the user character PC rides on an airplane object 75 including a control stick object 70e and flies in the sky of the virtual space.
  • a diagram showing an example of how the airplane object 75 turns to the left.
  • a diagram showing an example of how an airplane object 75 faces upward and rises.
  • a diagram showing how the user character PC rides on the four-wheeled vehicle object 76 as a united object and moves on the ground in the virtual space.
  • a diagram showing an example of how the four-wheeled vehicle object 76 turns to the left.
  • FIG. 4 is a diagram showing an example of data stored in the memory of the main unit 2 during execution of game processing; 3 is a flowchart showing an example of game processing executed by the processor 81 of the main device 2; Flowchart showing an example of united object control processing in step S107
  • An example of a game system 1 in this embodiment includes a main body device (information processing device; in this embodiment, functions as a game device main body) 2 , a left controller 3 and a right controller 4 .
  • a left controller 3 and a right controller 4 are detachable from the main unit 2 .
  • FIG. 1 is a diagram showing an example of a state in which the left controller 3 and the right controller 4 are attached to the main unit 2.
  • FIG. 1 the left controller 3 and the right controller 4 are attached to and integrated with the main unit 2 respectively.
  • the main device 2 is a device that executes various types of processing (for example, game processing) in the game system 1 .
  • the main unit 2 has a display 12 .
  • the left controller 3 and the right controller 4 are devices provided with operation units for user input.
  • FIG. 2 is a diagram showing an example of a state in which the left controller 3 and right controller 4 are removed from the main unit 2.
  • FIG. 1 and 2 the left controller 3 and the right controller 4 are detachable from the main unit 2 .
  • the left controller 3 and the right controller 4 may be collectively referred to as "controllers”.
  • FIG. 3 are six views showing an example of the main unit 2.
  • the main unit 2 includes a substantially plate-shaped housing 11 .
  • the main surface of the housing 11 (in other words, the surface on the front side, that is, the surface on which the display 12 is provided) is generally rectangular.
  • the main unit 2 has a display 12 provided on the main surface of the housing 11 .
  • Display 12 displays an image generated by main device 2 .
  • the main unit 2 has a touch panel 13 on the screen of the display 12 .
  • the touch panel 13 is of a type capable of multi-touch input (for example, a capacitive type).
  • the main unit 2 has a speaker (that is, the speaker 88 shown in FIG. 6) inside the housing 11 .
  • speaker holes 11a and 11b are formed in the main surface of the housing 11. As shown in FIG.
  • the main unit 2 also includes a left terminal 17 which is a terminal for the main unit 2 to perform wired communication with the left controller 3 and a right terminal 21 for the main unit 2 to perform wired communication with the right controller 4 .
  • the main unit 2 has lower terminals 27 .
  • the lower terminal 27 is a terminal for the main device 2 to communicate with the cradle.
  • the lower terminal 27 is a USB connector (more specifically, a female connector).
  • FIG. 4 are six views showing an example of the left controller 3.
  • FIG. 4 the left controller 3 has a housing 31 .
  • the left controller 3 has an analog stick 32 .
  • the analog stick 32 is provided on the main surface of the housing 31.
  • the analog stick 32 can be used as a directional input unit capable of inputting directions. By tilting the analog stick 32, the user can input a direction according to the tilting direction (and input a magnitude according to the tilting angle).
  • the left controller 3 may be provided with a cross key or a slide stick capable of slide input as the direction input unit instead of the analog stick. Further, in the present embodiment, input by pressing the analog stick 32 is possible.
  • the left controller 3 has various operation buttons.
  • the left controller 3 has four operation buttons 33 to 36 (specifically, a right button 33 , a downward button 34 , an upward button 35 and a left button 36 ) on the main surface of the housing 31 . Further, the left controller 3 has a recording button 37 and a - (minus) button 47 .
  • the left controller 3 has a first L button 38 and a ZL button 39 on the upper left side of the housing 31 .
  • the left controller 3 also has a second L button 43 and a second R button 44 on the side surface of the housing 31 that is attached when attached to the main unit 2 .
  • These operation buttons are used to give instructions according to various programs (for example, an OS program and an application program) executed by the main device 2 .
  • the left controller 3 also includes a terminal 42 for wire communication between the left controller 3 and the main unit 2 .
  • FIG. 5 are six views showing an example of the right controller 4.
  • the right controller 4 has a housing 51 .
  • the right controller 4 like the left controller 3, has an analog stick 52 as a direction input unit.
  • the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3 .
  • the right controller 4 may be provided with a cross key, a slide stick capable of slide input, or the like, instead of the analog stick.
  • the right controller 4 also has four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51, similarly to the left controller 3. Prepare.
  • the right controller 4 has a + (plus) button 57 and a home button 58 .
  • the right controller 4 also has a first R button 60 and a ZR button 61 on the upper right side of the housing 51 .
  • the right controller 4 has a second L button 65 and a second R button 66, like the left controller 3 does.
  • the right controller 4 also includes a terminal 64 for wire communication between the right controller 4 and the main unit 2 .
  • FIG. 6 is a block diagram showing an example of the internal configuration of the main unit 2.
  • the main unit 2 includes components 81 to 91, 97, and 98 shown in FIG. 6 in addition to the configuration shown in FIG. Some of these components 81 - 91 , 97 and 98 may be mounted on an electronic circuit board as electronic components and accommodated within housing 11 .
  • the main unit 2 has a processor 81 .
  • the processor 81 is an information processing section that executes various types of information processing executed in the main unit 2.
  • the processor 81 may be composed of only a CPU (Central Processing Unit), or may be composed of a CPU function and a GPU (Graphics Processing Unit). ) function, it may be configured from a SoC (System-on-a-chip) including multiple functions.
  • the processor 81 executes an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as the flash memory 84, or an external storage medium mounted in the slot 23, etc.). By doing so, various information processing is executed.
  • the main unit 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as examples of internal storage media built into itself. Flash memory 84 and DRAM 85 are connected to processor 81 . Flash memory 84 is a memory mainly used for storing various data (which may be programs) to be stored in main unit 2 .
  • the DRAM 85 is a memory used to temporarily store various data used in information processing.
  • the main unit 2 includes a slot interface (hereinafter abbreviated as "I/F") 91.
  • Slot I/F 91 is connected to processor 81 .
  • the slot I/F 91 is connected to the slot 23 and reads and writes data from/to a predetermined type of storage medium (for example, a dedicated memory card) attached to the slot 23 according to instructions from the processor 81 .
  • a predetermined type of storage medium for example, a dedicated memory card
  • the processor 81 appropriately reads and writes data from/to the flash memory 84 and the DRAM 85, as well as the above storage media, to execute the above information processing.
  • the main unit 2 includes a network communication unit 82.
  • a network communication unit 82 is connected to the processor 81 .
  • the network communication unit 82 communicates (specifically, wirelessly) with an external device via a network.
  • the network communication unit 82 communicates with an external device by connecting to a wireless LAN according to a method conforming to the Wi-Fi standard as the first communication mode.
  • the network communication unit 82 performs wireless communication with other main device 2 of the same type by a predetermined communication method (for example, communication using a unique protocol or infrared communication) as a second communication mode.
  • the processor 81 is connected to the left terminal 17, right terminal 21, and lower terminal 27 described above.
  • the processor 81 transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17 .
  • the processor 81 transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21 .
  • the processor 81 transmits data to the cradle via the lower terminal 27 .
  • the main unit 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively.
  • the main unit 2 includes a touch panel controller 86 that is a circuit that controls the touch panel 13 .
  • a touch panel controller 86 is connected between the touch panel 13 and the processor 81 . Based on the signal from the touch panel 13 , the touch panel controller 86 generates data indicating, for example, the position where the touch input was performed, and outputs the data to the processor 81 .
  • the display 12 is connected to the processor 81 .
  • the processor 81 displays on the display 12 images generated (for example, by executing the information processing described above) and/or images obtained from the outside.
  • the main unit 2 includes a codec circuit 87 and speakers (specifically, left and right speakers) 88 .
  • the codec circuit 87 is connected to the speaker 88 and the audio input/output terminal 25 as well as to the processor 81 .
  • the codec circuit 87 is a circuit that controls input/output of audio data to/from the speaker 88 and the audio input/output terminal 25 .
  • the main unit 2 also includes an acceleration sensor 89 .
  • the acceleration sensor 89 detects the magnitude of acceleration along predetermined three-axis (eg, xyz-axis shown in FIG. 1) directions. Note that the acceleration sensor 89 may detect acceleration in one or two axial directions.
  • the main unit 2 also includes an angular velocity sensor 90 .
  • the angular velocity sensor 90 detects angular velocities around predetermined three axes (eg, xyz axes shown in FIG. 1).
  • the angular velocity sensor 90 may detect angular velocity about one axis or two axes.
  • the acceleration sensor 89 and the angular velocity sensor 90 are connected to the processor 81 , and the detection results of the acceleration sensor 89 and the angular velocity sensor 90 are output to the processor 81 .
  • Processor 81 can calculate information about the movement and/or orientation of main unit 2 based on the detection results of acceleration sensor 89 and angular velocity sensor 90 described above.
  • the main unit 2 has a power control unit 97 and a battery 98 .
  • Power control 97 is connected to battery 98 and processor 81 .
  • FIG. 7 is a block diagram showing an example of the internal configuration of the main unit 2 and the left controller 3 and right controller 4. As shown in FIG. The details of the internal configuration of the main unit 2 are omitted in FIG. 7 since they are shown in FIG.
  • the left controller 3 has a communication control section 101 that communicates with the main unit 2 .
  • the communication control section 101 is connected to each component including the terminal 42 .
  • the communication control unit 101 can communicate with the main unit 2 by both wired communication via the terminal 42 and wireless communication not via the terminal 42 .
  • the communication control unit 101 controls the method of communication performed by the left controller 3 with the main unit 2 . That is, when the left controller 3 is attached to the main unit 2 , the communication control section 101 communicates with the main unit 2 via the terminal 42 . Further, when the left controller 3 is detached from the main unit 2, the communication control unit 101 performs wireless communication with the main unit 2 (specifically, the controller communication unit 83). Wireless communication between the controller communication unit 83 and the communication control unit 101 is performed according to the Bluetooth (registered trademark) standard, for example.
  • the left controller 3 also includes a memory 102 such as a flash memory.
  • the communication control unit 101 is composed of, for example, a microcomputer (also referred to as a microprocessor), and executes various processes by executing firmware stored in the memory 102 .
  • the left controller 3 includes buttons 103 (specifically, buttons 33-39, 43, 44, and 47).
  • the left controller 3 also includes an analog stick (denoted as “stick” in FIG. 7) 32 .
  • Each of the buttons 103 and the analog stick 32 repeatedly outputs information about operations performed on itself to the communication control unit 101 at appropriate timings.
  • the left controller 3 is equipped with an inertial sensor. Specifically, the left controller 3 includes an acceleration sensor 104 .
  • the left controller 3 also includes an angular velocity sensor 105 .
  • the acceleration sensor 104 detects the magnitude of acceleration along predetermined three-axis (eg, xyz-axis shown in FIG. 4) directions. Note that the acceleration sensor 104 may detect acceleration in one or two axial directions.
  • the angular velocity sensor 105 detects angular velocities around predetermined three axes (eg, xyz axes shown in FIG. 4). The angular velocity sensor 105 may detect angular velocity about one axis or two axes. Acceleration sensor 104 and angular velocity sensor 105 are each connected to communication control unit 101 . The detection results of the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timings.
  • the communication control unit 101 receives information on input (specifically, information on operation or detection result by sensor) from each input unit (specifically, each button 103, analog stick 32, each sensor 104 and 105) to get The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing predetermined processing on the acquired information) to the main unit 2 .
  • the operation data is repeatedly transmitted at a rate of once per predetermined time. It should be noted that the interval at which the information about the input is transmitted to the main unit 2 may or may not be the same for each input section.
  • the main unit 2 can obtain the input made to the left controller 3 . That is, the main unit 2 can determine the operation of each button 103 and the analog stick 32 based on the operation data. Main unit 2 can also calculate information about the movement and/or orientation of left controller 3 based on operation data (specifically, detection results of acceleration sensor 104 and angular velocity sensor 105).
  • the right controller 4 includes a communication control section 111 that communicates with the main unit 2 .
  • the right controller 4 also includes a memory 112 connected to the communication control section 111 .
  • Communication control unit 111 is connected to each component including terminal 64 .
  • the communication control section 111 and the memory 112 have functions similar to those of the communication control section 101 and the memory 102 of the left controller 3 .
  • the right controller 4 has input sections similar to the input sections of the left controller 3 . Specifically, each button 113, analog stick 52, and inertial sensors (acceleration sensor 114 and angular velocity sensor 115) are provided. Each of these input sections has the same function as each input section of the left controller 3 and operates in the same manner.
  • the right controller 4 has a power supply section 118 .
  • the power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates similarly.
  • a user character PC is placed in a virtual space (game space), and the game is played by the user character PC moving in the virtual space, performing predetermined actions, and defeating enemy characters. proceed.
  • a virtual camera is arranged in the virtual space. The virtual camera is set to include the user character PC in its imaging range, and a game image including the user character PC is generated using the virtual camera and displayed on the display 12 or the stationary monitor.
  • FIG. 8 is a diagram showing an example of a game image displayed when the game of this embodiment is executed.
  • a user character PC and a plurality of virtual objects 70 are arranged in the virtual space.
  • objects such as trees and buildings fixed in the virtual space are arranged in the virtual space.
  • the user character PC is a character operated by the user.
  • the user character PC moves in the virtual space and performs predetermined actions in the virtual space according to the input to the controller (3 or 4). Also, the user character PC creates a united object by assembling a plurality of virtual objects 70 .
  • a plurality of virtual objects 70 are objects that can move in the virtual space according to user's operation, and can be combined with each other.
  • a plurality of virtual objects 70 form a part of a united object by combining with each other.
  • a plurality of virtual objects 70 are arranged in advance on the ground in the virtual space.
  • the plurality of virtual objects 70 may appear in the virtual space based on the user's operation.
  • the virtual object 70 may appear in the virtual space when the user character PC defeats an enemy character or clears a predetermined task.
  • the plurality of virtual objects 70 are managed as items owned by the user character PC, and are usually not arranged in the virtual space, but may be accommodated within the virtual accommodation area of the user character PC. Then, when a user's operation is performed, the virtual object 70 accommodated in the accommodation area may appear in the virtual space.
  • a user can generate a united object by assembling a plurality of virtual objects 70 .
  • the user can generate a moving object that can move in virtual space, such as a vehicle, a tank, or an airplane, as a united object, and can proceed with the game using the generated united object.
  • the user can use the generated united object to move in the virtual space and attack enemy characters.
  • the multiple virtual objects 70 include an engine object 70a, a wing object 70b, a wheel object 70c, a plate object 70d, a control stick object 70e, and an electric fan object 70f.
  • another virtual object for forming the united object may be further prepared.
  • the engine object 70a is an object that imitates a jet engine, and is an example of a virtual power object having power.
  • the engine object 70a provides power to the entire coalesced object when configured as part of the coalesced object. Specifically, the engine object 70a gives a predetermined speed to the united object.
  • the wing object 70b is a virtual object for flying in the sky, and generates lift when moving within the virtual space at a predetermined speed or higher.
  • the wheel object 70c is an example of a virtual power object having power, and is an object that can be configured as a wheel of a vehicle, for example.
  • the wheel object 70c is configured to be rotatable in one predetermined direction.
  • the wheel object 70c gives a predetermined speed to the united object.
  • the plate object 70d is a planar virtual object.
  • the plate object 70d can be used, for example, as a vehicle body.
  • the operating state of a virtual power object includes an ON state and an OFF state.
  • a power object is normally set to the OFF state.
  • a power object can be in the ON state whether it is configured as part of a coalesced object or not configured as part of a coalesced object.
  • the user character PC performs a predetermined action (for example, an attack action such as approaching the power object and hitting it, shooting an arrow at the power object, etc.) with respect to the power object by the user's operation.
  • a predetermined action of the user character PC causes the power object to transition to the ON state. When the power object transitions to the ON state, the power object moves.
  • the engine object 70a when the engine object 70a is not configured as a part of the united object and is placed in the virtual space, when the user character PC performs a predetermined action on the engine object 70a, the engine object 70a ON state. When the engine object 70a is turned on, flame is emitted from the injection port, and the engine object 70a moves in the direction opposite to the flame. Note that flames may have an attack judgment. When the user character PC performs a predetermined stopping action (for example, an action of shooting an arrow) with respect to the engine object 70a, the engine object 70a is turned off and stopped.
  • a predetermined stopping action for example, an action of shooting an arrow
  • the wheel object 70c is not configured as a part of the united object and is arranged in a standing state in the virtual space (i.e., the wheel axis is arranged on the ground in parallel with the ground in the virtual space).
  • the wheel object 70c is turned on. In this case, the wheel object 70 rotates in one predetermined direction and moves on the ground in the virtual space.
  • a predetermined stopping action for example, an action of shooting an arrow
  • a non-powered wheel object having no power may be provided.
  • the non-powered wheel object for example, is combined with the plate object 70d to form a vehicle object as a united object.
  • a vehicle object having unpowered wheel objects is moved by gravity acting in the virtual space or by other forces (for example, the wheel object 70c included in the vehicle object).
  • the wheel object 70c included in the vehicle object.
  • the friction between the unpowered wheel object and the ground may be less than the friction between the wheel object 70c and the ground. Smooth movement on the ground in the virtual space can be realized by such a non-motorized wheel object.
  • the control stick object 70e is an example of a virtual controller object for controlling the movement of the united object when configured as a part of the united object.
  • the control stick object 70e has, for example, a rectangular bottom surface and a handle portion extending upward from the bottom surface.
  • the control stick object 70e has a function of controlling ON/OFF of the power object included in the united object and a function of rotating the united object.
  • the control stick object 70e is operated by the user character PC in the virtual space when the control stick operation mode is set. Specifically, when the user character PC is on the united object and the user performs a predetermined operation on the controller (for example, pressing the A button 53), the control stick operation mode is entered. The user character PC moves to the position of the control stick object 70e. More specifically, when the user character PC is on the united object and the user character PC is positioned within a predetermined range including the control stick object 70e, the control stick operation mode is entered in response to a predetermined operation. Transition.
  • the action states of all power objects included in the united object are turned ON at the same time.
  • the united object is given a driving force (velocity) in a predetermined direction, and the united object moves in the virtual space in a predetermined direction due to the driving force.
  • the united object turns. Details of movement control of the united object using the control stick object 70e will be described later.
  • the fan object 70f is an object imitating a fan, and is an example of a virtual power object having power.
  • the fan object 70f provides power to the entire united object when configured as part of the united object.
  • the power of the electric fan object 70f is weaker than the power of the engine object 70a, giving the united object a smaller speed than the engine object 70a.
  • one or more priority connections BP may be set on the surface of the virtual object 70 .
  • the priority connection part BP is a position that is preferentially connected to other parts when the virtual objects 70 are connected to each other.
  • the priority connection part BP is preset for each virtual object 70 by the game creator. For example, one priority connection part BP is set on the bottom surface of the engine object 70a. Also, three priority connection portions BP are set on the upper surface of the wing object 70b. Also, a plurality of priority connection portions BP are set on the top surface and side surfaces of the plate object 70d. Also, one or more priority connection parts BP are set in advance for the wheel object 70c and the control stick object 70e.
  • the two virtual objects 70 can also be connected (bonded) to each other at portions other than the priority connection portion. Also, it is possible to connect the priority connection portion BP of a certain virtual object and a portion other than the priority connection portion of another virtual object.
  • the priority connection part BP of a certain virtual object and the priority connection part BP of another virtual object are within a predetermined distance, for example, the priority connection part BP of the certain virtual object and the priority connection part BP of another virtual object are connected.
  • BP is preferentially connected.
  • the preferential connection portion BP of a certain virtual object and the preferential connection portion BP of another virtual object exceed a predetermined distance, the certain virtual object and the other virtual object are connected, for example, at the closest position. be.
  • a united object that “assembles” a plurality of virtual objects 70 means a set of a plurality of virtual objects 70 whose mutual positional relationship does not change by connecting the plurality of virtual objects 70 to each other. do.
  • FIG. 9 to 13 are diagrams showing how an airplane object 75 is generated as an example of a united object.
  • the user selects an engine object 70a placed in the virtual space (Fig. 9), and moves the selected engine object 70a (selected object) to the vicinity of the wing object 70b (Fig. 10).
  • the selection of the virtual object 70 placed in the virtual space is performed, for example, by aligning an instruction mark (not shown) displayed in the center of the screen with the virtual object 70 and pressing a predetermined button on the left controller 3.
  • the selected object may move together with the user character PC.
  • the selected object may be moved so as to maintain the positional relationship with the user character PC.
  • the user character PC and the selected object may be moved according to the input direction of the analog stick 32 of the left controller 3 .
  • the directions of the user character PC and the virtual camera may be changed, and the selected object may be moved.
  • the selected object may be moved even if the position of the user character PC does not change.
  • the selection object may be moved according to the change in orientation of the user character PC so that the selection object is positioned in front of the user character PC.
  • the selected object may be moved by changing the distance between the user character PC and the selected object. For example, when the orientation of the user character PC is changed upward in the virtual space, the selected object also moves upward in the virtual space.
  • the distance between the user character PC and the selected object may be longer than when the user character PC faces a direction parallel to the ground.
  • the virtual camera is controlled so as to include the user character PC and the selected object in its imaging range. Therefore, when the selected object moves in the virtual space in accordance with the movement of the user character PC or the change in posture, the movement of the selected object is displayed.
  • the user selects the control stick object 70e placed in the virtual space (Fig. 12) and moves the selected control stick object 70e to the vicinity of the wing object 70b. Then, the control stick object 70e and the wing object 70b have a positional relationship that satisfies a predetermined connection condition, and the control stick object 70e is connected to the upper surface of the wing object 70b according to the user's connection instruction.
  • an airplane object 75 including an engine object 70a, a wing object 70b, and a control stick object 70e is generated as a united object (FIG. 13).
  • the control stick object 70e can be placed at any position on the upper surface of the wing object 70b. Specifically, when the priority connection portion BP set on the bottom surface of the control stick object 70e and the priority connection portion BP set on the top surface of the wing object 70b are within a predetermined distance, the control stick object 70e is , are preferentially arranged at the position of the preferential connection portion BP of the wing object 70b. On the other hand, when the priority connection portion BP set on the bottom surface of the control stick object 70e and the priority connection portion BP set on the top surface of the wing object 70b exceed a predetermined distance, the control stick object 70e becomes the wing object. It is arranged at an arbitrary position specified by the user on the upper surface of 70b.
  • control stick object 70e has an orientation.
  • the orientation of the control stick object 70e is the long side direction of the bottom surface of the control stick object 70e.
  • the orientation of the control stick object 70e is arranged to match the orientation of the wing object 70b.
  • the direction of the control stick object 70e and the wing object 70b is the depth direction in FIG.
  • the user can specify the orientation of the control stick object 70e.
  • the control stick object 70e can be placed on top of the wing object 70b such that the orientation of the control stick object 70e has a predetermined angle with respect to the orientation of the wing object 70b.
  • the predetermined angle may be any value in the range of 0 degrees to 180 degrees, or any of a plurality of predetermined values (eg, 45 degrees, 90 degrees, 75 degrees, 180 degrees). may
  • another virtual object 70 can be connected to the airplane object 75 shown in FIG.
  • two or more engine objects 70a can be connected on a wing object 70b.
  • the velocity of the airplane object 75 having two or more engine objects 70a will be greater.
  • by connecting another wing object 70b to the side of one wing object 70b it is possible to construct a large wing in which two wing objects 70b are integrated.
  • An airplane object 75 having two wing objects 70b can obtain greater lift and can fly even with heavier objects on it.
  • FIG. 14 is a diagram showing an example of how the user character PC rides on the airplane object 75 including the control stick object 70e and flies in the sky of the virtual space.
  • the user can place the user character PC on an airplane object 75 formed by assembling a plurality of virtual objects 70 to move in the virtual space. Specifically, after generating the airplane object 75, the user puts the user character PC on the airplane object 75 using the controller (3 or 4).
  • the control stick object 70e is operated using the controller. is set as an operation target (for example, the A button 53 is pressed), the operation mode is shifted to the control stick operation mode.
  • the user character PC moves to the position of the control stick object 70e.
  • the user character PC grasps the handle portion of the control stick object 70e and performs an action of operating the handle portion of the control stick object 70e.
  • the airplane object 75 can be controlled.
  • the engine object 70a as an example of the power object is in the ON state.
  • the power object has an ON state in which the driving force is applied to the united object and an OFF state in which the driving force is not applied to the united object.
  • the airplane object 75 includes a plurality of power objects
  • all the power objects are simultaneously turned ON when the user character PC moves to the position of the control stick object 70e.
  • the airplane object 75 includes a plurality of engine objects 70a
  • all the engine objects 70a are turned on at the same time.
  • the airplane object 75 includes the engine object 70a and the fan object 70f
  • the engine object 70a and the fan object 70f are simultaneously turned on.
  • the airplane object 75 When the engine object 70a is in the ON state, the airplane object 75 is powered. As a result, the airplane object 75 moves in the virtual space in a predetermined direction at a predetermined speed and flies in the sky.
  • the traveling direction of the airplane object 75 depends on the position and orientation of the engine object 70a. For example, as shown in FIG. 14, when the engine object 70a is placed in the center of the wing object 70b in the left-right direction and in the same direction as the wing object 70b, the traveling direction of the airplane object 75 is the wing object 70b. in the same direction as the direction of In this case, as shown in FIG. 14, the airplane object 75 goes straight in the depth direction of the screen. At this time, the orientation De of the control stick object 70e is the depth direction of the screen.
  • the moving direction of the airplane object 75 changes. Specifically, the airplane object 75 rotates in the left-right direction (yaw direction) or in the up-down direction (pitch direction) according to the direction input operation.
  • FIG. 15 is a diagram showing an example of how the airplane object 75 turns to the left.
  • FIG. 16 is a diagram showing an example of how the airplane object 75 faces upward and rises.
  • the user character PC when the user character PC is at the position of the control stick object 70e, for example, when the user inputs the left direction of the analog stick 32, the user character PC moves the handle portion of the control stick object 70e to the left. A direction is displayed, and the direction De of the handle portion of the control stick object 70e points leftward. Then, the airplane object 75 turns leftward. Conversely, when the right direction of the analog stick 32 is input, the handle portion of the control stick object 70e turns to the right direction, and the airplane object 75 turns to the right direction. Specifically, a rotation speed based on the position of the center of gravity of the airplane object 75 is applied to each virtual object that configures the airplane object 75 . As a result, the entire airplane object 75 turns.
  • the orientation of the control stick object 70e itself (long side direction of the bottom surface of the control stick object 70e) does not change. That is, the orientation of the control stick object 70e itself is fixed with respect to the combined object when the control stick object 70e is configured as a part of the combined object.
  • the orientation De of the handle portion of the control stick object 70e changes according to the user's operation. Note that when the user character PC is at the position of the control stick object 70e, the orientation of the control stick object 70e itself may be changed by the user's operation, thereby changing the moving direction of the airplane object 75.
  • the traveling direction of the airplane object 75 is to the left with respect to the orientation of the wing object 70b.
  • the airplane object 75 operates to turn to the left even if the direction input operation is not performed by the user.
  • the traveling direction of the airplane object 75 changes. For example, when the user inputs a leftward direction, the airplane object 75 is rotated leftward, and the traveling direction of the airplane object 75 becomes further leftward, making a sharper left turn.
  • the airplane object 75 is rotated to the right.
  • the airplane object 75 If the rightward rotation of the airplane object 75 by the user's direction input operation is greater than the leftward deviation of the traveling direction of the engine object 70a, the airplane object 75 turns rightward. If the rightward rotation of the airplane object 75 by the user's direction input operation is equal to the leftward deviation of the traveling direction by the engine object 70a, the airplane object 75 moves straight forward.
  • the user can create various moving objects including the control stick object 70e, place the user character PC on the moving object, and move within the virtual space.
  • a "moving object” is a united object made up of a plurality of virtual objects 70, and is an object that can move within the virtual space.
  • the moving objects include movable united objects including power objects and movable united objects not including power objects.
  • FIG. 17 is a diagram showing how the user character PC rides on the four-wheeled vehicle object 76 as a united object and moves on the ground in the virtual space.
  • the user generates the four-wheeled vehicle object 76 by combining the plate object 70d, the control stick object 70e, and the four wheel objects 70c placed in the virtual space as described above.
  • the user places the user character PC on the generated four-wheeled vehicle object 76 and performs an operation to set the control stick object 70e as an operation target.
  • the user character PC moves to the position of the control stick object 70e.
  • the wheel object 70c is turned on.
  • Each wheel object 70c is a kind of power object, and gives power to the united object by itself.
  • the four wheel objects 70c are simultaneously turned on.
  • the four-wheeled vehicle object 76 moves straight in the depth direction in the virtual space.
  • FIG. 18 is a diagram showing an example of how the four-wheeled vehicle object 76 turns to the left.
  • FIG. 19 is a diagram showing an example of how the four-wheeled vehicle object 76 faces upward.
  • the user character PC when the user character PC is at the position of the control stick object 70e, for example, when the user inputs the left direction of the analog stick 32, the user character PC turns the control stick object 70e leftward. The state is displayed, and the direction De of the control stick object 70e points leftward. Then, the four-wheeled vehicle object 76 turns to the left. The opposite is true when the right direction of the analog stick 32 is input.
  • the user character PC when the user character PC is at the position of the control stick object 70e and the user inputs, for example, the downward direction of the analog stick 32, the user character PC moves the control stick object 70e forward. A state of pulling is displayed, and the direction De of the control stick object 70e faces upward. Then, the four-wheeled vehicle object 76 turns upward and performs a wheelie.
  • control stick object 70e can be incorporated into various united objects that can move in the virtual space.
  • the control stick object 70e can be used to control the movement of the united object.
  • the control stick object 70e is used to control ON/OFF of the power object included in the united object.
  • the control stick object 70e is used to control the rotation of the united object in the yaw direction or the pitch direction.
  • the movement of the united object is controlled by controlling the ON/OFF of the power object and controlling the rotation of the united object in the yaw direction or the pitch direction.
  • each power object included in the united object is turned ON in response to the user character PC moving to the position of the control stick object 70e.
  • each power object included in the united object may be turned on in response to the user performing a predetermined operation. That is, in the case of shifting to the control stick operation mode, each power object included in the united object may be turned on according to the user's operation.
  • the user generates a united object that includes the power object and the control stick object 70e, but it is also possible to generate a united object that includes the power object but does not include the control stick object 70e.
  • the user character PC performs a predetermined action (for example, an action of shooting an arrow at the combined object) with respect to the united object that does not include the control stick object 70e
  • the power object included in the united object moves, Combined objects move.
  • the user individually operates each wheel object 70c (turns ON). By doing so, the vehicle object can be moved.
  • the user can individually move each wheel object 70c by causing the user character PC to fire one arrow at a time and hit each wheel object 70c with the arrow.
  • the vehicle object moves forward, and by placing the user character PC on the vehicle object, it is possible to move within the virtual space.
  • the vehicle object does not include the control stick object 70e, the user cannot turn the vehicle object.
  • the united object does not include the control stick object 70e
  • the user needs to operate each power object included in the united object one by one, which is troublesome for the user. For example, when each power object is operated in order, the united object may move, making it difficult for the user to perform a predetermined action on the power object.
  • the united object includes the control stick object 70e, the user can operate all power objects included in the united object at the same time, which improves convenience.
  • the user can also generate a united object that includes the control stick object 70e and does not include the power object. Control of a united object that includes the control stick object 70e and does not include the power object will be described later.
  • FIG. 20 is a diagram for explaining rotation of the four-wheeled vehicle object 76 in the yaw direction using the control stick object 70e.
  • the four-wheeled vehicle object 76 moves in a predetermined traveling direction by the four wheel objects 70c.
  • the traveling direction of the four-wheeled vehicle object 76 is determined according to the arrangement of each wheel object 70c. As shown in FIG. 20, when four wheel objects 70c are arranged two by two on the left and right sides of a plate object 70d in a well-balanced manner, the traveling direction of the four-wheeled vehicle object 76 is straight ahead. Also, the center of gravity position is determined for the four-wheeled vehicle object 76 .
  • the position of the center of gravity of the four-wheeled vehicle object 76 is determined by the position and weight of each virtual object 70 that constitutes the four-wheeled vehicle object 76 .
  • the four wheel objects 70 c are arranged in a well-balanced manner in the front, rear, left, and right directions, so the center of gravity of the four-wheeled vehicle object 76 is positioned substantially at the center of the four-wheeled vehicle object 76 .
  • the handle portion of the control stick object 70e is steered by the user character PC, and the handle portion of the control stick object 70e moves leftward. turn direction. Accordingly, the four-wheeled vehicle object 76 rotates leftward in the yaw direction with respect to the position of the center of gravity. Specifically, the four-wheeled vehicle object 76 is configured to rotate counterclockwise about an axis that passes through the center of gravity of the four-wheeled vehicle object 76 and is parallel to the vertical direction of the virtual space. A rotation speed is given to each virtual object 70 .
  • each virtual object 70 forming the four-wheeled vehicle object 76 is given an angular velocity and a translational velocity according to the distance from the center of gravity of the four-wheeled vehicle object 76 .
  • the forward speed of the wheel object 70c and the leftward rotational speed in the yaw direction cause the entire four-wheeled vehicle object 76 to turn leftward.
  • the four-wheeled vehicle object 76 passes through the center of gravity of the four-wheeled vehicle object 76 and rotates about an axis parallel to the Y-axis in the XYZ coordinate system with the control stick object 70e as a reference.
  • a rotation speed may be given to each virtual object 70 that constitutes 76 .
  • the wheel object 70c may slip on the ground. For example, if the four-wheeled vehicle object 76 is turned while climbing a slope, the friction between the wheel object 70c and the ground decreases, and the four-wheeled vehicle object 76 slides down. good. In order to prevent such sliding down, when the four-wheeled vehicle object 76 climbs or descends a slope, the amount of reduction in friction between the wheel object 70c and the ground is reduced or set to zero.
  • the control stick object 70e is arranged on the four-wheeled vehicle object 76 so that the orientation (Z-axis direction) of the control stick object 70e is exactly opposite to the traveling direction of the four-wheeled vehicle object 76.
  • the four-wheeled vehicle object 76 moves in the direction opposite to the direction of the control stick object 70e (user When viewed from the character PC, it appears to be moving backward).
  • the control stick object 70e when the user inputs the left direction using, for example, the analog stick 32, the control stick object 70e is steered by the user character PC, and the handle portion of the control stick object 70e faces left. . Accordingly, as shown in FIG. 20, the four-wheeled vehicle object 76 rotates leftward in the yaw direction with the position of the center of gravity as a reference. Due to the backward velocity of the wheel object 70c and the leftward rotational velocity in the yaw direction, the four-wheeled vehicle object 76 moves rightward and backward (four-wheel If the traveling direction of the car object 76 is used as a reference, the four-wheeled vehicle object 76 turns to the left).
  • the control stick object 70e is controlled in the same way no matter what position in the four-wheeled vehicle object 76 or in any direction with respect to the four-wheeled vehicle object 76. For example, when the user inputs the left direction, the handle portion of the control stick object 70e points leftward with respect to the control stick object 70e, and the four-wheeled vehicle object 76 points leftward in the yaw direction with respect to the position of the center of gravity. rotate to The opposite is true if the user inputs to the right. That is, the input direction of the user, the changing direction of the steering wheel portion of the control stick object 70e, and the rotational direction of the four-wheeled vehicle object 76 in the yaw direction are the same. It does not depend on the position or orientation of the object 70e.
  • a weight is also set for the control stick object 70e, and the position of the center of gravity of the four-wheeled vehicle object 76 changes according to the position of the control stick object 70e on the four-wheeled vehicle object 76. Since each virtual object constituting the four-wheeled vehicle object 76 is rotated with respect to the position of the center of gravity, the manner of rotation of the four-wheeled vehicle object 76 subtly changes depending on the position of the control stick object 70e in the four-wheeled vehicle object 76. .
  • FIG. 22 is a diagram for explaining rotation of the four-wheeled vehicle object 76 in the pitch direction using the control stick object 70e.
  • FIG. 22 shows a diagram of the four-wheeled vehicle object 76 viewed from the lateral direction of the virtual space.
  • the control stick object 70e is steered by the user character PC, and the control stick object 70e moves upward as viewed from the user character PC.
  • the four-wheeled vehicle object 76 rotates upward (pitch direction) with the center of gravity as a reference.
  • the rotational speed of each virtual object 70 forming the four-wheeled vehicle object 76 is set around the center of gravity of the four-wheeled vehicle object 76 so that the four-wheeled vehicle object 76 faces upward in the virtual space. is given.
  • the entire four-wheeled vehicle object 76 faces upward and performs a wheelie.
  • the four-wheeled vehicle object 76 has been described as an example, but other united objects including the control stick object 70e are the same.
  • the airplane object 75 when rotating the airplane object 75 in the yaw direction, the airplane object 75 is rotated in the yaw direction with reference to the position of the center of gravity.
  • the airplane object 75 when rotating the airplane object 75 in the pitch direction, the airplane object 75 is rotated in the pitch direction with reference to the position of the center of gravity.
  • the united object 70e when the control stick object 70e is arranged on the upper surface of the plate object 70d to form a united object, the united object can be floated on water such as a river or the sea in the virtual space. In this case, since the united object does not include the power object, it moves within the virtual space along the flow of the river. At this time, when the control stick object 70e is steered, the united object is rotated. Specifically, the united object is given a rotation speed to the left in the yaw direction with reference to the position of the center of gravity. In this case, the united object only rotates in the yaw direction (around the vertical axis of the virtual space) while advancing along the flow of the river, and the movement direction of the united object does not change.
  • the moving direction of the moving object may be changed by steering the control stick object 70e.
  • FIG. 23 is a diagram showing an example of how the user character PC rides an airplane object 77 including a wing object 70b and a control stick object 70e and travels straight through the virtual space.
  • FIG. 24 is a diagram showing an example of how the airplane object 77 turns to the left by steering the control stick object 70e.
  • the airplane object 77 does not include a power object.
  • the airplane object 77 when the airplane object 77 flies in the sky of the virtual space, the airplane object 77 receives a virtual propulsive force directed from the rear to the front of the airplane object 77 (in FIG. Given. That is, although not displayed on the screen, it is controlled as if a power object were provided at the position and direction of the engine object 70a in FIG.
  • the control stick object 70e is steered by the user character PC, and the handle portion of the control stick object 70e moves in the same manner as described above. Turn left. Accordingly, the airplane object 77 rotates leftward in the yaw direction with the center of gravity position as a reference. Then, as the direction of the wing object 70b changes to the left, the direction in which the virtual propulsive force is applied also changes to the left, causing the airplane object 77 to turn left.
  • an airplane object 77 without a power object can be regarded as having a propulsive force in the direction of travel in the same way as an airplane object 75 with a power object, and the airplane object 77 is turned by the same control as above. be able to.
  • the traveling direction of the airplane object 77 is rotated with respect to the position of the center of gravity of the airplane object 77 by steering the steering wheel portion of the control stick object 70e by the user character PC.
  • the airplane object 77 when the airplane object 77 is moving in the direction of travel, for example, if the handle portion of the control stick object 70e is oriented in the horizontal direction, the airplane object 77 can simply move while maintaining the direction of travel (that is, while traveling straight). Instead of the 77 rotating in the yaw direction, the traveling direction itself changes, and the airplane object 77 turns left and right.
  • the virtual propulsive force as described above is set smaller than the propulsive force given by the power objects such as the engine object 70a and the electric fan object 70f when these power objects are combined with the control stick object 70e. . This is because the virtual propulsive force is sufficient if the airplane object 77 turns in response to the steering of the handle portion of the control stick object 70e. Also, if the virtual propulsive force is equal to or greater than the propulsive force of the power object, the motivation to combine the power object with the airplane object 77 may decrease, leading to a decrease in interest. .
  • the user can use the control stick object 70e to turn the airplane object 77 without a power object.
  • a virtual propulsive force may be given only to the airplane object 75 (wing object having the control stick object) among the objects having the control stick, or may be given to other vehicle objects. good.
  • such virtual driving force may be applied only when no power object is provided, or may be applied regardless of the presence or absence of the power object.
  • the virtual propulsive force is applied in a predetermined direction from the rear to the front of the airplane object 77 (from the front to the back of the paper surface in FIG. 23).
  • the design of the airplane object 77 (or the wing object) can distinguish between one direction and the other (forward and backward direction), and it is possible for the user to presume which direction is appropriate as the forward direction.
  • the virtual propulsive force may be determined according to the orientation of the control stick object, or may be determined based on the direction in which the initial velocity is given or the direction of the initial movement.
  • the movement direction of the united object can be controlled using the control stick object 70e included in the united object.
  • the united object rotates in the yaw direction or the pitch direction using the control stick object 70e.
  • the united object does not rotate in the roll direction using the control stick object 70e, but in other embodiments, it may rotate in the roll direction as well.
  • the united object includes the control stick object. You can control the direction of movement by That is, as long as the united object includes the control stick object, it is possible to control the direction of movement of the united object, which improves usability.
  • the united object including the control stick object 70e moves in the virtual space according to the user's operation.
  • the airplane object 75 flies while being affected by the wind in the virtual space or colliding with predetermined objects in the virtual space.
  • the airplane object 75 rotates in the roll direction or pitch direction.
  • the user steers using the control stick object 70e the airplane object 75 rotates in the roll direction and the pitch direction.
  • the posture of the airplane object 75 is corrected in such a case.
  • FIG. 25 is a diagram showing an example of correcting the attitude of the control stick object 70e in the roll direction.
  • FIG. 26 is a diagram showing an example of correcting the attitude of the control stick object 70e in the pitch direction.
  • the traveling direction of the airplane object 75 is from the front to the back of the paper surface.
  • the airplane object 75 may rotate in the roll direction due to the influence of the wind, for example.
  • the control stick object 70e tilts in the horizontal direction.
  • the attitude of the airplane object 75 is corrected so that the attitude of the control stick object 70e approaches the horizontal.
  • the entire plane object 75 is moved so that the X-axis of the control stick object 70e approaches parallel to the horizontal axis of the virtual space (so that the angle between the X-axis and the horizontal axis of the virtual space approaches 0 degrees). is rotated around the Z axis (or around the depth direction axis of the virtual space).
  • FIG. 26 shows a side view of the airplane object 75 in the virtual space.
  • the airplane object 75 when the airplane object 75 flies in the virtual space, the airplane object 75 may rotate in the pitch direction due to the influence of the wind, for example.
  • the control stick object 70e tilts in the front-rear direction.
  • the attitude of the airplane object 75 is corrected so that the attitude of the control stick object 70e approaches the horizontal.
  • the entire plane object 75 is moved so that the Z axis of the control stick object 70e approaches parallel to the axis in the depth direction of the virtual space (so that the angle between the Z axis and the axis in the depth direction of the virtual space approaches 0 degrees). is rotated around the X-axis (or around the horizontal axis in the virtual space).
  • the control stick object 70e is corrected so as to be horizontal, but the degree of correction is limited to a predetermined range. , the control stick object 70e does not have to be horizontal even if the correction is performed. Further, the degree of correction may be made small, and if the rotational force in the roll direction or the pitch direction is greater than or equal to a predetermined value, it may not return to the horizontal state depending on the correction. For example, correction is performed by applying a rotational force (or rotational speed) in the roll direction or pitch direction to the united object (or each virtual object that constitutes the united object), and the degree of correction (the applied rotational force Alternatively, the rotation speed) is set relatively small. A rotational force (rotational speed) is applied to the airplane object 75 in the roll direction or the pitch direction due to the influence of the wind or other objects. and the airplane object 75 will not be horizontal depending on the correction.
  • Such correction of attitudes in the roll and pitch directions may be performed only for the airplane object 75 (wing object including the control stick object), and other united objects including the control stick object 70e may also be subjected to similar corrections. may be done.
  • the four-wheeled vehicle object 76 may be rotated in the roll direction or the pitch direction so that the control stick object 70e approaches the horizontal.
  • FIG. 27 is a diagram showing an example of data stored in the memory of main device 2 during execution of game processing.
  • the memory (DRAM 85, flash memory 84, or external storage medium) of main unit 2 stores a game program, operation data, user character data, and multiple united object data. be.
  • a game program is a program for executing the game processing described above.
  • the game program is pre-stored in the external storage medium or flash memory 84 mounted in the slot 23, and read into the DRAM 85 when the game is executed.
  • the game program may be obtained from another device via a network (for example, the Internet).
  • the operation data includes data from the buttons 103 of the left controller 3, the analog stick 32, the acceleration sensor 104, the angular velocity sensor 105, the buttons 113 of the right controller 4, the analog stick 52, the acceleration sensor 114, and the angular velocity sensor 115.
  • Main unit 2 receives operation data from each controller at predetermined time intervals (for example, at intervals of 1/200 second) and stores the operation data in memory. Further, the operation data includes data from the main unit 2 (data from an acceleration sensor, an angular velocity sensor, a touch panel, etc.).
  • the user character data is data related to the user character PC, and includes information related to the position and posture of the user character PC in the virtual space. Also, the user character data may include information indicating items, abilities, etc. possessed by the user character PC.
  • the united object data is data related to one united object made up of a plurality of virtual objects 70 created by the user.
  • united object data is stored for each united object.
  • the united object information is information used when calculating the behavior of the united object, and includes, for example, the position of the center of gravity of the united object.
  • the center-of-gravity position of the united object is calculated based on the weights of the plurality of virtual objects 70 forming the united object, the positions and orientations of the united object, and the like.
  • FIG. 28 is a flowchart showing an example of game processing executed by processor 81 of main device 2 .
  • the processor 81 performs united object generation processing (step S101).
  • a united object made up of a plurality of virtual objects 70 is generated based on the user's operation, and stored in the memory as united object data.
  • a virtual object 70 placed in the virtual space is selected according to the user's selection operation, and the selected virtual object 70 and another virtual object 70 are connected.
  • a united object is generated by connecting a plurality of virtual objects 70 .
  • step S102 onward are repeatedly performed at predetermined frame time intervals (for example, 1/60 second intervals). Processing after step S102 will be described below.
  • step S102 the processor 81 acquires operation data.
  • the processor 81 acquires the operation data transmitted from each controller and stored in the memory.
  • the processor 81 determines whether or not the control stick operation mode for operating the control stick object 70e is currently set (step S104). If it is not the control stick operation mode (step S104: NO), the processor 81 determines whether or not to shift to the control stick operation mode (step S105). Specifically, when a predetermined operation is performed using the controller while the user character PC is riding on the united object including the control stick object 70e, the processor 81 determines YES in step S105. .
  • step S105 the processor 81 sets the control stick operation mode (step S106).
  • step S106 the processor 81 moves the player object PC to the position of the control stick object 70e.
  • step S108 the processor 81 next executes the process of step S108.
  • the united object control process is a process of controlling the movement of the united object using the control stick object 70e. Details of the united object control process will be described later.
  • step S108 the processor 81 performs physical calculation processing (step S108).
  • step S108 all objects in the virtual space are calculated according to the laws of physics based on their position, size, weight, speed, rotational speed, applied force, friction, etc., and the motion of each object is calculated. is controlled.
  • collision determination with other objects is performed, and the behavior of each object is calculated according to the result of the collision determination.
  • the behavior of the airplane object 75 is determined based on the speed in the traveling direction of the airplane object 75 and the rotational speed of the airplane object 75 based on the result of the processing in step S107. Calculated.
  • the processor 81 performs output processing (step S109). Specifically, the processor 81 generates a game image based on the virtual camera and causes the display 12 or the stationary monitor to display the game image. Also, the processor 81 causes the speaker to output a sound according to the result of the game processing.
  • step S110 determines whether or not to end the game processing. For example, when the user instructs to end the game, the processor 81 determines YES in step S110 and ends the game processing shown in FIG. If determined as NO in step S110, the processor 81 executes the process of step S102 again.
  • FIG. 29 is a flow chart showing an example of the united object control process in step S107.
  • the processor 81 determines whether or not the united object includes a power object (step S200). If the united object includes a power object (step S200: YES), the processor 81 turns on all power objects included in the united object (step S201).
  • step S201 determines whether or not a direction instruction operation has been performed based on the operation data (step S202).
  • the processor 81 determines whether or not a direction instruction operation using the analog stick 32 has been performed.
  • step S203 the processor 81 rotates the united object (step S203). Specifically, the processor 81 gives rotational speed to each virtual object 70 according to the input direction of the analog stick 32 so that each virtual object 70 included in the united object rotates around the position of the center of gravity of the united object. do. Physical calculation is performed in step S108 based on the rotational speeds given in step S023, thereby rotating each virtual object 70 and rotating the united object.
  • step S203 the processor 81 moves each virtual object 70 included in the united object in the yaw direction (in the vertical direction of the virtual space) based on the position of the center of gravity of the united object in response to an input in the horizontal direction of the analog stick 32. axis).
  • the united object turns in the yaw direction (horizontal direction).
  • the processor 81 moves each virtual object 70 included in the united object in the pitch direction (around the left-right direction axis of the virtual space) with reference to the position of the center of gravity of the united object in response to an input in the vertical direction of the analog stick 32 . rotate.
  • step S204 the processor 81 performs posture correction processing.
  • the processor 81 rotates the united object in the roll direction or the pitch direction so that the posture of the control stick object 70e approaches the horizontal.
  • step S205 determines whether or not to end the control stick operation mode. If the controller is used to instruct to end the control stick operation mode, the processor 81 determines YES in step S205 and ends the control stick operation mode (step S206). Specifically, in step S206, the processor 81 turns off all the power objects that were turned on in step S201. As a result, the united object stops moving and the user character PC leaves the position of the control stick object 70e.
  • step S206 If the process of step S206 has been performed, or if NO is determined in step S205, the processor 81 ends the process shown in FIG.
  • the user combines a plurality of virtual objects 70 placed in the virtual space to generate a united object (step S101).
  • the plurality of virtual objects 70 include a virtual power object (engine object 70a, wheel object 70c, electric fan object 70f, etc.) that provides power to the united object, and a virtual controller object (control stick object 70e).
  • a user can generate a moving object that can move in a virtual space including a virtual power object and a virtual controller object as a united object.
  • the virtual power object is operated to move the moving object in a predetermined direction (step S201), and the moving direction of the moving object is changed based on the user's input (step S201). step S203).
  • the user can generate a united object by combining a plurality of virtual objects, and can control the movement of the united object using the virtual controller object. Therefore, it is possible to give diversity to a united object obtained by combining a plurality of virtual objects.
  • the virtual controller object can be used to control the motion of the virtual power object, the user's convenience can be improved.
  • the virtual controller object is arranged at the position specified by the user on the moving object.
  • the moving object is provided with a normal portion and a priority portion (priority connection portion BP), and the virtual controller object is preferentially arranged in the priority portion of the moving object.
  • the user can place the virtual controller object at a desired position on the moving object, and can increase the degree of freedom when generating the moving object.
  • the virtual controller object is preferentially arranged in the priority portion of the moving object, convenience is improved when the virtual controller object is arranged in the moving object.
  • the user character rides on a moving object including a virtual controller object based on user input.
  • This allows the user character to control the moving object. For example, based on the user's input, the user character operates the virtual controller object on the moving object to change the orientation of at least a portion (handle portion) of the virtual controller object, thereby changing the moving direction of the moving object.
  • the moving direction of the moving object is changed in the direction corresponding to the user's input direction. This allows the user to change the moving direction of the moving object with the same operation regardless of where the virtual controller object is placed.
  • the movement of the moving object is controlled according to the user's input; otherwise, the movement of the moving object is restricted. good too.
  • a specific object is interposed between the virtual power object and the virtual controller object, the movement of the moving object is controlled according to the user's input. Object movement may be restricted.
  • the user can specify the orientation of the virtual controller object with respect to the moving object and place the virtual controller object on the moving object.
  • the virtual controller object can be arranged in a desired orientation, and the degree of freedom in generating moving objects can be increased.
  • the moving direction of the moving object is changed in the direction corresponding to the user's input direction. This allows the user to change the moving direction of the moving object with the same operation regardless of the orientation of the virtual controller object.
  • the moving direction of the moving object is changed by giving the rotating speed around the center of gravity of the moving object to the moving object. Specifically, a rotation speed around the position of the center of gravity of the moving object is given to each virtual object that constitutes the moving object. Accordingly, even if the moving object is generated using various virtual objects by the user, the moving direction of the moving object can be changed. Since the rotation speed is given to the moving object with reference to the position of the center of gravity, for example, the united object without power does not accelerate and move, and can behave naturally.
  • a moving object (a four-wheeled vehicle object) that moves while contacting the ground in the virtual space can be generated. Friction between the four-wheel vehicle object and the ground is made smaller than when moving in a predetermined direction. This makes it easier to turn the four-wheeled vehicle object.
  • the orientation of the moving object in the roll direction or the pitch direction is corrected so that the orientation in the virtual space of the virtual controller object included in the moving object becomes a predetermined orientation (eg, horizontal orientation).
  • a predetermined orientation eg, horizontal orientation
  • a common control stick object can be used to operate a united object (moving object). Since the user can freely assemble combined objects (moving objects), it may not be possible to know what type (for example, car or airplane) the combined moving object will be classified into. Usability is excellent because it is possible to combine common control stick objects with each other. For example, if the moving objects include powered objects, a common control stick object can be used for any type of powered object. In this way, since any moving object can be operated using a common control stick object, usability can be improved by using a common operating method for moving objects, and intuitive operation can be achieved. It is possible.
  • the tendency of change in the direction of movement of the moving object in response to a certain user operation may be common regardless of the types and how the virtual objects forming the moving object are assembled.
  • the moving object includes a power object
  • the power object may be turned on by a common operation on the control stick object, regardless of the type of the power object.
  • the first moving object and the second moving object can be switched and operated using one control stick object. may be able to
  • control stick object there may be only one type of control stick object common to the plurality of moving objects. Also, there may be only one control stick object of one type. Also, although there is only one kind of control stick object, there may be more than one.
  • the control stick object is used to control the ON/OFF of one or more power objects included in the moving object. good too.
  • the power object included in the moving object may always be in the ON state.
  • the power object included in the moving object is normally in the OFF state, and a plurality of power objects may be individually or collectively controlled to the ON state by an operation other than the operation using the control stick object. In this way, even if the control stick object does not control ON/OFF of the power object, the control stick object may control the moving direction and moving speed of the moving object.
  • the user's operation used to control the movement of the united object is merely an example, and any buttons and analog sticks of the controllers 3 and 4 can be used to move the united object (moving object).
  • any buttons and analog sticks of the controllers 3 and 4 can be used to move the united object (moving object).
  • pressing a predetermined button on the controllers 3 and 4 may cause the moving object to start moving in a predetermined direction, and pressing another button may change the moving direction of the moving object.
  • the moving object may start moving in a predetermined traveling direction by operating the analog stick, and the moving direction of the moving object may be changed by operating the same or a different analog stick.
  • the movement of the moving object may be controlled based on the orientations of the controllers 3 and 4 and the orientation of the main device 2 .
  • the united object when the user character rides on the united object and moves to the position of the control stick object on the united object, the united object is set to be controllable in response to a predetermined operation.
  • Set as an operation target Any method may be used to set the united object as an operation target. For example, when the user character is present at a position corresponding to the control stick object, the united object is set as the operation target in response to a predetermined operation, regardless of whether the user character is riding the united object. good too.
  • the united object when the user character exists near the united object, the united object may be set as the operation target in accordance with a predetermined operation. Also, if a position-related condition is satisfied, the united object may be set as an operation target without requiring a predetermined operation.
  • the united object may be set as the operation target by an appropriate operation.
  • the traveling direction of the moving object is determined based on the position and orientation of the power object included in the moving object. moved.
  • the moving direction of the moving object is changed by rotating the moving object around the center of gravity axis.
  • the direction of movement of the moving object may be changed by other methods. For example, when the control stick object 70e is steered in the left-right direction, the moving direction of the moving object may be changed in the left-right direction by changing the orientation of the power object included in the moving object in the left-right direction.
  • control stick object 70e when the control stick object 70e is steered in the left-right direction, the translational velocity in the left-right direction is applied to the moving object, thereby changing the moving direction of the moving object in the left-right direction. good too.
  • the control stick object 70e when the control stick object 70e is steered in the horizontal direction, the direction of movement of the moving object is changed in the horizontal direction by applying acceleration (force) in the horizontal direction to the moving object. You may let
  • the operating state of the power object is either the ON state or the OFF state.
  • the output value (power) of the power object may be changed.
  • the moving object may be moved in the advancing direction by increasing the output value of the power object included in the moving object.
  • the moving direction of the moving object may be changed in the horizontal direction by changing the output value of the power object included in the moving object.
  • the movement of the moving object may be started or stopped, or the moving speed of the moving object may be changed.
  • the power object gives a predetermined speed to the united object as power.
  • the behavior of each object was then calculated based on the velocity given to each object.
  • the power object may exert a force (acceleration) on the coalesced objects, and the behavior of each object may be calculated based on the applied force (acceleration).
  • each virtual object 70 in the above embodiment is merely an example, and other virtual objects may be used.
  • the control stick object 70e is used in the above embodiment, but in other embodiments, an object imitating a steering wheel may be used as the virtual controller object.
  • the virtual controller object may represent a place such as a cockpit or cockpit.
  • the user character PC when the control stick object 70e is set as the operation target, the user character PC is arranged at the position of the control stick object 70e.
  • the position of the user character PC does not necessarily match the position of the control stick object 70e, and the user character PC is arranged within a predetermined range determined according to the position of the control stick object 70e. good too.
  • the method of setting the control stick object 70e as the operation target is not limited to pressing the button, and any other method may be used.
  • the user may set the control stick object 70e as the operation target by pointing the control stick object 70e with a predetermined indication sign.
  • the user may generate a moving object that includes the control stick object 70e and does not include the power object.
  • the direction of movement of a moving object that does not include such a power object is changed using the control stick object.
  • the moving object is given a velocity in a predetermined direction.
  • speed may be given by the user character performing a predetermined action on the moving object, or speed may be given by causing the moving object to drop or slide down a slope.
  • the velocity may be given to the moving object by the collision of another object with the moving object. Such imparted velocity can be viewed as power in the direction of movement.
  • the control stick object included in the moving object is set as the operation target based on the user's input, and the control stick object is set as the operation target.
  • the moving direction of the moving object may be changed based on the user's input.
  • a united object is generated by assembling a plurality of virtual objects 70 placed in the virtual space.
  • at least some of the plurality of virtual objects 70 may not be arranged in the virtual space, but may be accommodated in the accommodation area at the stage of generating the united object.
  • the power object may be placed in the virtual space and the control stick object may be accommodated in the accommodation area.
  • the control stick object may be arranged in the virtual space, and the power object may be accommodated in the accommodation area.
  • control stick objects there may be multiple types of control stick objects.
  • there are a first control stick object and a second control stick object of different types and the user can combine the moving object with the first control stick object or the second control stick object.
  • the moving object including the second control stick object may have a faster moving speed and a changing speed of the moving direction than the moving object including the first control stick object.
  • a plurality of types of control stick objects are prepared, and the type of control stick object capable of controlling the moving direction of the moving object corresponds to the type of power or the configuration (type) of the united object (moving object). good too.
  • the control stick object may be used to control ON/OFF of the non-powered object.
  • the control stick object may be used to collectively control ON/OFF of the plurality of non-powered objects. OFF may be individually controllable.
  • the ON/OFF of the plurality of non-powered objects and the powered objects can be collectively controlled using the control stick object.
  • a united object that includes a powered object and a non-powered object only the powered object may be controllable using the control stick object.
  • the control stick object may be used to control all of the multiple powered objects to the ON state or the OFF state at the same time.
  • a united object that includes a powered object and a non-powered object only the non-powered object may be controllable.
  • a control stick object that can control only powered objects and a control stick object that can control only non-powered objects may be prepared.
  • the hardware configuration for performing the game is merely an example, and the game processing may be performed in any other hardware.
  • the game process may be executed in any information processing system such as a personal computer, a tablet terminal, a smart phone, or a server on the Internet. Further, the game processing may be distributed and executed by a plurality of devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想オブジェクト同士を接続して複数の仮想オブジェクトからなるオブジェクトを生成する場合にユーザビリティを向上させることが可能な情報処理システムを提供する。情報処理システムの一例は、ユーザの入力に基づいて、複数の仮想オブジェクトを組み合わせて合体オブジェクトを生成する。複数の仮想オブジェクトには、合体オブジェクトに動力を与える仮想動力オブジェクトと、仮想コントローラオブジェクトとが含まれる。情報処理システムは、合体オブジェクトに仮想動力オブジェクト及び仮想コントローラオブジェクトが含まれる場合、仮想動力オブジェクトを動作させて合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、合体オブジェクトの移動方向を変化させる。

Description

情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
 本発明は、ユーザの操作により複数の仮想オブジェクトを組み合わせることが可能な情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置に関する。
 従来より、操作対象オブジェクトを移動させて仮想空間に存在するオブジェクトと接触させることで複数のオブジェクトを一体として構成するゲームシステムがある(例えば、特許文献1参照)。
特開2007-21248号公報
 しかしながら、ユーザの操作により複数の仮想オブジェクトを組むことで複数の仮想オブジェクトからなるオブジェクトを生成する場合において、ユーザビリティを向上させるという観点では改善の余地があった。
 それ故、本発明の目的は、複数の仮想オブジェクトを組んで複数の仮想オブジェクトからなるオブジェクトを生成する場合にユーザビリティを向上させることが可能な情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置を提供することである。
 上記の課題を解決すべく、本発明は、以下の構成を採用した。
 本発明の情報処理システムは、ユーザの入力に基づくゲーム処理を行うプロセッサを備える情報処理システムであって、前記プロセッサは、ユーザの入力に基づいて、複数の仮想オブジェクトを組むことで合体オブジェクトを生成する合体オブジェクト生成手段と、仮想空間に配置された前記合体オブジェクトを制御する合体オブジェクト制御手段として機能する。前記複数の仮想オブジェクトは、前記合体オブジェクトの一部として組み入れられた場合に当該合体オブジェクトに動力を与える仮想動力オブジェクトと、前記合体オブジェクトの一部として組み入れられることが可能な仮想コントローラオブジェクトとを含む。前記合体オブジェクト制御手段は、前記合体オブジェクトに前記仮想動力オブジェクト及び前記仮想コントローラオブジェクトが含まれる場合、前記仮想動力オブジェクトを動作させて前記合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、前記合体オブジェクトの移動方向を変化させる。
 上記によれば、ユーザは、複数の仮想オブジェクトを組むことで仮想コントローラオブジェクトを含む合体オブジェクトを生成することができるとともに、当該合体オブジェクトの移動を制御することができる。
 また、前記仮想動力オブジェクトの動作状態には、前記動力を与えるON状態と、前記動力を与えないOFF状態とがあってもよい。また、前記プロセッサは、ユーザの入力に基づいて、1の前記仮想動力オブジェクトの動作状態を、前記ON状態又は前記OFF状態にする動作状態設定手段として機能してもよい。前記合体オブジェクト生成手段は、前記仮想コントローラオブジェクトと、複数の前記仮想動力オブジェクトとを含む前記合体オブジェクトを生成してもよい。前記合体オブジェクト制御手段は、前記合体オブジェクトに含まれる全ての前記仮想動力オブジェクトを同時に前記ON状態又はOFF状態にしてもよい。
 上記によれば、複数の仮想動力オブジェクトが同時にON状態又はOFF状態にされることにより、1つずつON状態又はOFF状態にする場合よりもユーザの利便性を向上させることができる。
 また、前記合体オブジェクト生成手段は、前記合体オブジェクトにおける、ユーザによって指定された位置に、前記仮想コントローラオブジェクトを配置してもよい。
 上記によれば、合体オブジェクトにおけるユーザの所望の位置に仮想コントローラオブジェクトを配置することができ、合体オブジェクトを生成するときの自由度を高めることができる。
 また、前記合体オブジェクトを構成する前記仮想オブジェクトには、他の部分よりも優先される優先部分が設けられてもよい。前記合体オブジェクト生成手段は、前記仮想コントローラオブジェクトを、前記合体オブジェクトを構成する前記仮想オブジェクトにおける前記優先部分に優先的に配置してもよい。
 上記によれば、ユーザの所望の位置に仮想コントローラオブジェクトを配置するとともに、仮想コントローラオブジェクトを優先部分に優先的に配置することができ、仮想コントローラオブジェクトを合体オブジェクトに配置するときの利便性を向上させることができる。
 また、前記プロセッサは、ユーザキャラクタを前記仮想空間内で移動させるユーザキャラクタ移動手段として機能してもよい。前記ユーザキャラクタ移動手段は、ユーザの入力に基づいて、前記ユーザキャラクタを前記仮想コントローラオブジェクトに対応する位置に移動させてもよい。前記合体オブジェクト制御手段は、前記ユーザキャラクタが前記仮想コントローラオブジェクトに対応する位置に存在する場合、ユーザの入力に応じて、前記合体オブジェクトを制御してもよい。
 上記によれば、ユーザキャラクタが仮想コントローラオブジェクトに対応する位置に存在する場合、合体オブジェクトを制御することができる。
 また、前記合体オブジェクト制御手段は、前記ユーザの入力に基づいて、前記ユーザキャラクタに前記仮想コントローラオブジェクトを操作させることにより、前記仮想コントローラオブジェクトの少なくとも一部の向きを変化させ、前記合体オブジェクトの移動方向を変化させてもよい。
 上記によれば、ユーザキャラクタに仮想コントローラオブジェクトを操作させることで、仮想コントローラオブジェクトの少なくとも一部の向きを変化させ、合体オブジェクトの移動方向を変化させることができる。これにより、ユーザキャラクタが仮想コントローラオブジェクトを操作している様子が表示され、ユーザに、仮想コントローラオブジェクトを操作して合体オブジェクトの移動方向を制御するような感覚を与えることができる。
 また、前記合体オブジェクト制御手段は、前記合体オブジェクトにおける前記仮想コントローラオブジェクトの位置にかかわらず、ユーザの入力方向に応じた方向に前記合体オブジェクトの移動方向を変化させてもよい。
 上記によれば、仮想コントローラオブジェクトがどこに配置されても、ユーザは同じ操作で合体オブジェクトの移動方向を変化させることができ、利便性を向上させることができる。
 また、前記合体オブジェクト生成手段は、ユーザによって指定された向きで、前記仮想コントローラオブジェクトを前記合体オブジェクトに配置してもよい。
 上記によれば、仮想コントローラオブジェクトを所望の向きで配置することができ、合体オブジェクトを生成するときの自由度を高めることができる。
 また、前記合体オブジェクト制御手段は、前記合体オブジェクトにおける前記仮想コントローラオブジェクトの向きにかかわらず、ユーザの入力方向に応じた方向に前記合体オブジェクトの移動方向を変化させてもよい。
 上記によれば、仮想コントローラオブジェクトがどの向きで配置されても、ユーザは同じ操作で合体オブジェクトの移動方向を変化させることができる。
 また、前記合体オブジェクト制御手段は、前記合体オブジェクトに対して、前記合体オブジェクトの重心位置回りの回転速度を付与することにより、前記合体オブジェクトの移動方向を変化させてもよい。
 上記によれば、ユーザによって様々な仮想オブジェクトを用いて合体オブジェクトが生成されても、合体オブジェクトの移動方向を変化させることができる。
 また、前記合体オブジェクト制御手段は、前記合体オブジェクトを構成する各仮想オブジェクトに対して、前記合体オブジェクトの重心位置回りの回転速度を付与することにより、前記合体オブジェクトの移動方向を変化させてもよい。
 上記によれば、各仮想オブジェクトに対して回転速度を付与することで合体オブジェクトを回転させることができ、ユーザによって様々な仮想オブジェクトを用いて合体オブジェクトが生成されても、合体オブジェクトの移動方向を変化させることができる。
 また、前記合体オブジェクトは、前記仮想空間の地面に接触しながら移動するオブジェクトであってもよい。前記合体オブジェクト制御手段は、前記合体オブジェクトの移動方向を変化させる場合、前記合体オブジェクトを前記所定の進行方向に移動させる場合よりも、前記合体オブジェクトと前記地面との摩擦を小さくしてもよい。
 上記によれば、地面に接触する合体オブジェクトを旋回させやすくすることができる。
 また、前記プロセッサは、前記合体オブジェクトに含まれる前記仮想コントローラオブジェクトの前記仮想空間における姿勢が所定の姿勢となるように、前記合体オブジェクトのロール方向又はピッチ方向の姿勢を補正する姿勢補正手段、としてさらに機能してもよい。
 上記によれば、合体オブジェクトの姿勢が変化する場合でも仮想コントローラオブジェクトの姿勢を所定の姿勢に保つことができる。
 また、前記合体オブジェクト生成手段は、複数の前記仮想オブジェクトを含む第1の合体オブジェクトと、複数の前記仮想オブジェクトを含む第2の合体オブジェクトとを生成可能であってもよい。前記仮想コントローラオブジェクトは、前記第1の合体オブジェクトにも前記第2の合体オブジェクトにも組み入れられることが可能であってもよい。
 上記によれば、ユーザによって第1の合体オブジェクトが生成されても第2の合体オブジェクトが生成されても、共通の仮想コントローラオブジェクトを組み入れることができる。
 また、他の発明は、上記各手段を備える情報処理装置であってもよいし、情報処理装置のコンピュータを上記各手段として機能させる情報処理プログラムであってもよい。また、他の発明は、上記情報処理システムにおいて行われる情報処理方法であってもよい。
 本発明によれば、複数の仮想オブジェクトを組み合わせて仮想コントローラオブジェクトを含む合体オブジェクトを生成することができ、当該合体オブジェクトの移動を制御することができる。
本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図 本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図 本体装置2の一例を示す六面図 左コントローラ3の一例を示す六面図 右コントローラ4の一例を示す六面図 本体装置2の内部構成の一例を示すブロック図 本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図 本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図 合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図 合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図 合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図 合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図 合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図 操縦桿オブジェクト70eを含む飛行機オブジェクト75の上にユーザキャラクタPCが乗って、仮想空間の空を飛ぶ様子の一例を示す図 飛行機オブジェクト75が左方向に旋回する様子の一例を示す図 飛行機オブジェクト75が上方向を向き、上昇する様子の一例を示す図 ユーザキャラクタPCが合体オブジェクトとしての4輪車オブジェクト76に乗り、仮想空間の地面上を移動する様子を示す図 4輪車オブジェクト76が左方向に旋回する様子の一例を示す図 4輪車オブジェクト76が上方向を向く様子の一例を示す図 操縦桿オブジェクト70eを用いた4輪車オブジェクト76のヨー方向の回転について説明するための図 操縦桿オブジェクト70eが4輪車オブジェクト76の進行方向と逆方向に配置されている場合のヨー方向の回転について説明するための図 操縦桿オブジェクト70eを用いた4輪車オブジェクト76のピッチ方向の回転について説明するための図 翼オブジェクト70bと操縦桿オブジェクト70eとを含む飛行機オブジェクト77にユーザキャラクタPCが乗って仮想空間を直進する様子の一例を示す図 飛行機オブジェクト77が操縦桿オブジェクト70eに対する操舵によって左に旋回する様子の一例を示す図 操縦桿オブジェクト70eのロール方向の姿勢の補正の一例を示す図 操縦桿オブジェクト70eのピッチ方向の姿勢の補正の一例を示す図 ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図 本体装置2のプロセッサ81によって実行されるゲーム処理の一例を示すフローチャート ステップS107の合体オブジェクト制御処理の一例を示すフローチャート
 以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。
 図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
 図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
 図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
 図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。
 また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。
 本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。
 また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
 図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。
 本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。
 図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。
 左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
 左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
 また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
 図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。
 右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
 また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
 図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
 本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
 本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
 本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
 プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
 本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。
 本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。
 プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
 本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
 また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
 本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
 また、本体装置2は、加速度センサ89を備える。本実施形態においては、加速度センサ89は、所定の3軸(例えば、図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ89は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。
 また、本体装置2は、角速度センサ90を備える。本実施形態においては、角速度センサ90は、所定の3軸(例えば、図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ90は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。
 加速度センサ89および角速度センサ90は、プロセッサ81に接続され、加速度センサ89および角速度センサ90の検出結果は、プロセッサ81へ出力される。プロセッサ81は、上記の加速度センサ89および角速度センサ90の検出結果に基づいて、本体装置2の動きおよび/または姿勢に関する情報を算出することが可能である。
 本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。
 図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
 左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
 また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
 左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
 左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、図4に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ105は、所定の3軸(例えば、図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
 通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
 上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
 左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
 図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。
 右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
 右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
 (ゲームの概要)
 次に、本実施形態のゲームについて説明する。本実施形態のゲームでは、仮想空間(ゲーム空間)に、ユーザキャラクタPCが配置され、ユーザキャラクタPCが仮想空間内を移動したり所定の動作を行ったり、敵キャラクタを倒したりすることでゲームが進行する。仮想空間には仮想カメラが配置される。仮想カメラは、ユーザキャラクタPCをその撮像範囲に含むように設定され、当該仮想カメラを用いてユーザキャラクタPCを含むゲーム画像が生成されて、ディスプレイ12又は据置型モニタに表示される。
 図8は、本実施形態のゲームが実行された場合に表示されるゲーム画像の一例を示す図である。図8に示されるように、仮想空間には、ユーザキャラクタPCと、複数の仮想オブジェクト70(70a~70f)とが配置される。また、図示は省略するが、仮想空間には、仮想空間に固定される木や建物等のオブジェクトが配置される。
 ユーザキャラクタPCは、ユーザによって操作されるキャラクタである。ユーザキャラクタPCは、コントローラ(3又は4)に対する入力に応じて仮想空間内を移動したり、仮想空間内で所定の動作を行ったりする。また、ユーザキャラクタPCは、複数の仮想オブジェクト70を組むことで合体オブジェクトを作成する。
 複数の仮想オブジェクト70は、ユーザの操作に応じて仮想空間内を移動可能なオブジェクトであり、互いに組むことができるオブジェクトである。複数の仮想オブジェクト70は、互いに組まれることで合体オブジェクトの一部を構成する。例えば、複数の仮想オブジェクト70は、予め仮想空間の地面に配置されている。また、複数の仮想オブジェクト70は、ユーザの操作に基づいて仮想空間に出現してもよい。例えば、ユーザキャラクタPCが敵キャラクタを倒した場合や所定の課題をクリアした場合に、仮想オブジェクト70が仮想空間に出現してもよい。また、複数の仮想オブジェクト70は、ユーザキャラクタPCが所有するアイテムとして管理されており、通常は仮想空間に配置されず、ユーザキャラクタPCの仮想的な収容領域内に収容されてもよい。そして、ユーザの操作が行われた場合に、収容領域内に収容された仮想オブジェクト70が仮想空間内に出現してもよい。
 ユーザは、複数の仮想オブジェクト70を組むことにより、合体オブジェクトを生成することができる。例えば、ユーザは、合体オブジェクトとして、車両、戦車、飛行機等の仮想空間を移動可能な移動オブジェクトを生成することができ、生成した合体オブジェクトを用いてゲームを進めることができる。例えば、ユーザは、生成した合体オブジェクトを、仮想空間内での移動や敵キャラクタへの攻撃のために用いることができる。
 例えば、複数の仮想オブジェクト70は、エンジンオブジェクト70aと、翼オブジェクト70bと、車輪オブジェクト70cと、板オブジェクト70dと、操縦桿オブジェクト70eと、扇風機オブジェクト70fとを含む。なお、これらの他にも、合体オブジェクトを構成するための別の仮想オブジェクトがさらに用意されてもよい。
 エンジンオブジェクト70aは、ジェットエンジンを模したオブジェクトであり、動力を有する仮想動力オブジェクトの一例である。エンジンオブジェクト70aは、合体オブジェクトの一部として構成された場合、合体オブジェクト全体に対して動力を与える。具体的には、エンジンオブジェクト70aは、合体オブジェクトに対して所定の速度を与える。翼オブジェクト70bは、空を飛ぶための仮想オブジェクトであり、所定の速度以上で仮想空間内を移動する場合に揚力を発生させる。
 車輪オブジェクト70cは、動力を有する仮想動力オブジェクトの一例であり、例えば車両の車輪として構成可能なオブジェクトである。車輪オブジェクト70cは、予め定められた一方向に回転可能に構成されている。車輪オブジェクト70cは、合体オブジェクトに対して所定の速度を与える。また、板オブジェクト70dは、平面状の仮想オブジェクトである。板オブジェクト70dは、例えば車両の車体として利用可能である。
 仮想動力オブジェクト(以下、単に「動力オブジェクト」と表記する場合がある)の動作状態には、ON状態とOFF状態とがある。動力オブジェクトは、通常はOFF状態に設定されている。動力オブジェクトは、合体オブジェクトの一部として構成されている場合でも、合体オブジェクトの一部として構成されていない場合でも、ON状態になり得る。例えば、ユーザキャラクタPCは、ユーザの操作により動力オブジェクトに対して所定の動作(例えば、動力オブジェクトに近づいてたたく動作、動力オブジェクトに矢を発射する動作等の攻撃動作)を行う。ユーザキャラクタPCの所定の動作によって、動力オブジェクトはON状態に移行する。動力オブジェクトがON状態に移行すると、動力オブジェクトは動作する。
 例えば、エンジンオブジェクト70aが合体オブジェクトの一部として構成されておらず、仮想空間に配置されている場合に、ユーザキャラクタPCがエンジンオブジェクト70aに対して所定の動作を行った場合、エンジンオブジェクト70aはON状態となる。エンジンオブジェクト70aがON状態となると、噴射口から火炎が放射され、火炎と反対方向にエンジンオブジェクト70aが移動する。なお、火炎には攻撃判定があってもよい。ユーザキャラクタPCがエンジンオブジェクト70aに対して所定の停止動作(例えば、矢を発射する動作)を行った場合、エンジンオブジェクト70aはOFF状態となり、停止する。
 また、車輪オブジェクト70cが合体オブジェクトの一部として構成されておらず、仮想空間に立った状態で配置されている場合(すなわち、車輪の軸が仮想空間の地面と平行な状態で地面に配置されている場合)において、ユーザキャラクタPCが車輪オブジェクト70cに対して所定の動作を行った場合、車輪オブジェクト70cはON状態となる。この場合、車輪オブジェクト70は、予め定められた一方向に回転し、仮想空間の地面上を移動するようになる。ユーザキャラクタPCが車輪オブジェクト70に対して所定の停止動作(例えば、矢を発射する動作)を行った場合、車輪オブジェクト70はOFF状態となり、停止する。
 なお、車輪オブジェクト70cに加えて、動力を有さない動力無し車輪オブジェクトが設けられてもよい。動力無し車輪オブジェクトは、例えば、板オブジェクト70dと組み合わされて合体オブジェクトとしての車両オブジェクトを形成する。動力無し車輪オブジェクトを有する車両オブジェクトは、仮想空間に働く重力や、その他の動力(例えば、車両オブジェクトに含まれる車輪オブジェクト70c)によって移動される。車両オブジェクトは仮想空間の地面を移動する際に、地面との間で摩擦が発生する。この場合、動力無し車輪オブジェクトと地面との摩擦は、車輪オブジェクト70cと地面との摩擦よりも小さくてもよい。このような動力無し車輪オブジェクトによって、仮想空間の地面上のスムーズな移動を実現することができる。
 操縦桿オブジェクト70eは、合体オブジェクトの一部として構成された場合に、合体オブジェクトの移動を制御するための仮想コントローラオブジェクトの一例である。操縦桿オブジェクト70eは、例えば、長方形の底面と、底面から上方に延びるハンドル部分とを有する。
 操縦桿オブジェクト70eは、合体オブジェクトに含まれる動力オブジェクトのON/OFFを制御する機能と、合体オブジェクトを旋回させる機能とを有する。操縦桿オブジェクト70eは、操縦桿操作モードに設定されている場合、仮想空間内においてユーザキャラクタPCによって操作される。具体的には、ユーザキャラクタPCが合体オブジェクトの上に乗っている場合において、ユーザによってコントローラに対する所定の操作(例えば、Aボタン53の押下)が行われた場合、操縦桿操作モードに移行し、ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動する。より具体的には、ユーザキャラクタPCが合体オブジェクトの上に乗っている場合において、ユーザキャラクタPCが操縦桿オブジェクト70eを含む所定範囲に位置するとき、所定の操作に応じて、操縦桿操作モードに移行する。ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合、合体オブジェクトに含まれる全ての動力オブジェクトの動作状態が同時にONにされる。動力オブジェクトが動作されると、合体オブジェクトには所定方向への推進力(速度)が与えられ、合体オブジェクトは当該推進力により仮想空間内を所定の進行方向に移動するようになる。また、ユーザキャラクタPCが、合体オブジェクトに含まれる操縦桿オブジェクト70eの位置にいる場合において、例えばユーザによってコントローラに対する所定の旋回操作が行われた場合、合体オブジェクトが旋回する。操縦桿オブジェクト70eを用いた合体オブジェクトの移動制御の詳細については後述する。
 また、扇風機オブジェクト70fは、扇風機を模したオブジェクトであり、動力を有する仮想動力オブジェクトの一例である。扇風機オブジェクト70fは、合体オブジェクトの一部として構成された場合、合体オブジェクト全体に対して動力を与える。扇風機オブジェクト70fの動力は、エンジンオブジェクト70aの動力よりも弱く、合体オブジェクトに対して、エンジンオブジェクト70aよりも小さな速度を与える。
 図8に示されるように、仮想オブジェクト70の表面には、1又は複数の優先接続部BPが設定される場合がある。優先接続部BPは、仮想オブジェクト70同士を接続する際に、他の部分よりも優先的に接続される位置である。優先接続部BPは、ゲーム制作者によって各仮想オブジェクト70に予め設定されている。例えば、エンジンオブジェクト70aの底面には1つの優先接続部BPが設定される。また、翼オブジェクト70bの上面には、3つの優先接続部BPが設定される。また、板オブジェクト70dの上面、及び、側面には複数の優先接続部BPが設定される。また、車輪オブジェクト70c、及び、操縦桿オブジェクト70eにも、1又は複数の優先接続部BPが予め設定される。
 2つの仮想オブジェクト70は、優先接続部以外の部分同士で互いに接続(接着)することもできる。また、ある仮想オブジェクトの優先接続部BPと、別の仮想オブジェクトの優先接続部以外の部分とを接続することもできる。ある仮想オブジェクトの優先接続部BPと、別の仮想オブジェクトの優先接続部BPとが例えば所定の距離以内の場合には、当該ある仮想オブジェクトの優先接続部BPと、別の仮想オブジェクトの優先接続部BPとが優先的に接続される。ある仮想オブジェクトの優先接続部BPと、別の仮想オブジェクトの優先接続部BPとが所定の距離を超えている場合は、ある仮想オブジェクトと別の仮想オブジェクトとは、例えば、最近接位置で接続される。
 ここで、仮想オブジェクト70同士の「接続」とは、仮想オブジェクト70同士が近接した位置で一体的なオブジェクトとしてふるまうことを意味する。例えば、2つの仮想オブジェクト70が接着されている場合、当該2つの仮想オブジェクト70は互いに接してもよい。また、2つの仮想オブジェクト70が接着されている場合、2つの仮想オブジェクト70が厳密に接していなくてもよく、例えば、2つの仮想オブジェクト70間に、間隙があったり、接続のための他のオブジェクトが介在してもよい。また、「複数の仮想オブジェクト70が一体的なオブジェクトとしてふるまう」とは、複数の仮想オブジェクト70の相対的な位置関係が維持され、複数の仮想オブジェクト70が1つのオブジェクトであるかのように仮想空間内を移動したり、姿勢を変化させたりすることを意味する。
 また、複数の仮想オブジェクト70を「組んだ」合体オブジェクトは、複数の仮想オブジェクト70を互いに接続することで、互いの位置関係が変化しない状態になっている、複数の仮想オブジェクト70の集合を意味する。
 ユーザは、仮想空間に配置されている何れか1つの仮想オブジェクト70を選択し、他の仮想オブジェクト70と接続することで、複数の仮想オブジェクト70を接続した合体オブジェクトを生成することができる。図9~図13は、合体オブジェクトの一例としての飛行機オブジェクト75が生成される様子を示す図である。
 ユーザは、例えば、仮想空間に配置されたエンジンオブジェクト70aを選択し(図9)、選択したエンジンオブジェクト70a(選択オブジェクト)を翼オブジェクト70bの近傍に移動させる(図10)。仮想空間に配置された仮想オブジェクト70の選択は、例えば、画面の中央に表示された指示標識(図示せず)を仮想オブジェクト70に合わせ、左コントローラ3の所定のボタンを押下することにより行われてもよい。また、選択オブジェクトは、ユーザキャラクタPCとともに移動してもよい。選択オブジェクトは、ユーザキャラクタPCとの位置関係が維持されるように移動してもよい。例えば、左コントローラ3のアナログスティック32の入力方向に応じて、ユーザキャラクタPC及び選択オブジェクトが移動されてもよい。また、例えば、右コントローラ4のアナログスティック52の入力方向に応じて、ユーザキャラクタPC及び仮想カメラの向きを変化させるとともに、選択オブジェクトを移動させてもよい。また、ユーザキャラクタPCの位置が変化しなくても、選択オブジェクトは移動されてもよい。例えば、ユーザキャラクタPCの正面に選択オブジェクトが位置するように、ユーザキャラクタPCの向きの変化に応じて、選択オブジェクトが移動されてもよい。また、ユーザキャラクタPCと選択オブジェクトとの間の距離が変化することによって、選択オブジェクトが移動してもよい。例えば、ユーザキャラクタPCの向きが仮想空間の上方に変化された場合、選択オブジェクトも仮想空間の上方に移動する。ユーザキャラクタPCが仮想空間の上方を向くときは、ユーザキャラクタPCが地面と平行な方向を向くときよりも、ユーザキャラクタPCと選択オブジェクトとの間の距離が長くなってもよい。また、仮想カメラは、ユーザキャラクタPC及び選択オブジェクトをその撮像範囲に含むように制御される。このため、ユーザキャラクタPCの移動や姿勢の変化に応じて選択オブジェクトが仮想空間内を移動する場合、選択オブジェクトが移動される様子が表示される。
 エンジンオブジェクト70aを移動させることによって、エンジンオブジェクト70aと翼オブジェクト70bとが所定の接続条件を満たす位置関係になると、エンジンオブジェクト70aと翼オブジェクト70bとは接続可能な状態となる。この状態で、ユーザが接続指示(例えば、右コントローラ4の所定のボタンの押下)を行うと、エンジンオブジェクト70aと翼オブジェクト70bとが接続される。これにより、エンジンオブジェクト70aと翼オブジェクト70bとを含む合体オブジェクト75が生成される(図11)。
 さらに、ユーザは、仮想空間に配置された操縦桿オブジェクト70eを選択し(図12)、選択した操縦桿オブジェクト70eを翼オブジェクト70bの近傍に移動させる。すると、操縦桿オブジェクト70eと翼オブジェクト70bとが所定の接続条件を満たす位置関係となり、ユーザの接続指示に応じて、操縦桿オブジェクト70eは、翼オブジェクト70bの上面に接続される。これにより、合体オブジェクトとして、エンジンオブジェクト70aと、翼オブジェクト70bと、操縦桿オブジェクト70eとを含む飛行機オブジェクト75が生成される(図13)。
 操縦桿オブジェクト70eは、翼オブジェクト70bの上面における任意の位置に配置されることができる。具体的には、操縦桿オブジェクト70eの底面に設定された優先接続部BPと、翼オブジェクト70bの上面に設定された優先接続部BPとが所定の距離以内の場合には、操縦桿オブジェクト70eは、翼オブジェクト70bの優先接続部BPの位置に優先的に配置される。一方、操縦桿オブジェクト70eの底面に設定された優先接続部BPと、翼オブジェクト70bの上面に設定された優先接続部BPとが所定の距離を超える場合には、操縦桿オブジェクト70eは、翼オブジェクト70bの上面の、ユーザによって指定された任意の位置に配置される。
 また、操縦桿オブジェクト70eは、向きを有する。操縦桿オブジェクト70eの向きは、操縦桿オブジェクト70eの底面における長辺方向である。図13では、操縦桿オブジェクト70eの向きは、翼オブジェクト70bの向きと一致するように配置されている。具該的には、操縦桿オブジェクト70e及び翼オブジェクト70bの向きは、図13の奥行き方向である。ユーザは、操縦桿オブジェクト70eの向きを指定することが可能である。例えば、操縦桿オブジェクト70eの向きが、翼オブジェクト70bの向きに対して所定の角度を有するように、操縦桿オブジェクト70eを翼オブジェクト70bの上面に配置することができる。所定の角度は、0度から180度の範囲の任意の値であってもよいし、予め定められた複数の値(例えば、45度、90度、75度、180度)の何れかであってもよい。
 なお、図13に示される飛行機オブジェクト75に対して、さらに別の仮想オブジェクト70を接続することもできる。例えば、翼オブジェクト70b上に2つ以上のエンジンオブジェクト70aを接続することができる。この場合、2つ以上のエンジンオブジェクト70aを有する飛行機オブジェクト75の速度はより大きくなる。また、1つの翼オブジェクト70bの横に別の翼オブジェクト70bを接続することで、2つの翼オブジェクト70bが一体となった大きな翼を構成することもできる。2つの翼オブジェクト70bを有する飛行機オブジェクト75は、より大きな揚力を得ることができ、より重いオブジェクトを乗せても飛行することができる。
 図14は、操縦桿オブジェクト70eを含む飛行機オブジェクト75の上にユーザキャラクタPCが乗って、仮想空間の空を飛ぶ様子の一例を示す図である。
 図14に示されるように、ユーザは、複数の仮想オブジェクト70を組んだ飛行機オブジェクト75上にユーザキャラクタPCを乗せて、仮想空間を移動させることが可能である。具体的には、ユーザは、飛行機オブジェクト75を生成した後、コントローラ(3又は4)を用いてユーザキャラクタPCを飛行機オブジェクト75上に乗せる。ユーザキャラクタPCが飛行機オブジェクト75上に乗っており、かつ、ユーザキャラクタPCが操縦桿オブジェクト70eに対応する位置(操縦桿オブジェクト70eを含む所定範囲)にいるときに、コントローラを用いて操縦桿オブジェクト70eを操作対象として設定する操作(例えば、Aボタン53の押下)が行われると、操縦桿操作モードに移行する。具体的には、ユーザキャラクタPCが、操縦桿オブジェクト70eの位置に移動する。ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動すると、ユーザキャラクタPCは、操縦桿オブジェクト70eのハンドル部分を握り、操縦桿オブジェクト70eのハンドル部分を操作するような動作を行う。
 ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合、飛行機オブジェクト75の制御が可能となる。具体的には、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合、動力オブジェクトの一例としてのエンジンオブジェクト70aは、ON状態となる。動力オブジェクトには、動作状態として、合体オブジェクトに対して推進力を与えるON状態と、合体オブジェクトに対して推進力を与えないOFF状態とがある。ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動したことに応じて(すなわち、操縦桿オブジェクト70eが操作対象として設定されたことに応じて)、エンジンオブジェクト70aはON状態になる。
 なお、飛行機オブジェクト75に複数の動力オブジェクトが含まれる場合、ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動したことに応じて、全ての動力オブジェクトが同時にON状態となる。例えば、飛行機オブジェクト75に複数のエンジンオブジェクト70aが含まれる場合は、全てのエンジンオブジェクト70aが同時にON状態となる。また、飛行機オブジェクト75にエンジンオブジェクト70aと扇風機オブジェクト70fとが含まれる場合、エンジンオブジェクト70aと扇風機オブジェクト70fとが同時にON状態となる。
 エンジンオブジェクト70aがON状態の場合には、飛行機オブジェクト75に対して動力が与えられる。これにより、飛行機オブジェクト75が所定の進行方向に所定の速さで仮想空間内を移動し、空を飛ぶようになる。飛行機オブジェクト75の進行方向は、エンジンオブジェクト70aの位置や向きに依存する。例えば、図14に示されるように、エンジンオブジェクト70aが翼オブジェクト70bの左右方向における中央であって、翼オブジェクト70bと同じ向きで配置されている場合、飛行機オブジェクト75の進行方向は、翼オブジェクト70bの向きと同じ方向になる。この場合、図14に示されるように、飛行機オブジェクト75は、画面の奥行き方向に直進する。このとき、操縦桿オブジェクト70eの向きDeは、画面の奥行き方向である。
 ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザによって方向入力操作(例えば、アナログスティック32を用いた方向入力)が行われた場合、飛行機オブジェクト75の移動方向が変化する。具体的には、飛行機オブジェクト75は、方向入力操作に応じて、左右方向(ヨー方向)、又は、上下方向(ピッチ方向)に回転する。
 図15は、飛行機オブジェクト75が左方向に旋回する様子の一例を示す図である。図16は、飛行機オブジェクト75が上方向を向き、上昇する様子の一例を示す図である。
 図15に示されるように、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザが例えばアナログスティック32の左方向を入力した場合、ユーザキャラクタPCが操縦桿オブジェクト70eのハンドル部分を左方向に向ける様子が表示され、操縦桿オブジェクト70eのハンドル部分の向きDeが左方向を向く。すると、飛行機オブジェクト75が左方向に旋回する。アナログスティック32の右方向が入力された場合は逆であり、操縦桿オブジェクト70eのハンドル部分は右方向を向き、飛行機オブジェクト75は右方向に旋回する。具体的には、飛行機オブジェクト75を構成する各仮想オブジェクトに対して、飛行機オブジェクト75の重心位置を基準とした回転速度が加えられる。これにより、飛行機オブジェクト75全体が旋回する。
 なお、操縦桿オブジェクト70eのハンドル部分の向きが変化されても、操縦桿オブジェクト70e自体の向き(操縦桿オブジェクト70eの底面の長辺方向)は変化しない。すなわち、操縦桿オブジェクト70e自体の向きは、操縦桿オブジェクト70eが合体オブジェクトの一部として構成された時点で、その合体オブジェクトに対して固定される。一方、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合、操縦桿オブジェクト70eのハンドル部分の向きDeは、ユーザの操作によって、変化する。なお、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合、ユーザの操作によって、操縦桿オブジェクト70e自体の向きが変化し、それによって、飛行機オブジェクト75の移動方向が変化してもよい。
 また、図16に示されるように、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザが例えばアナログスティック32の下方向を入力した場合、ユーザキャラクタPCが操縦桿オブジェクト70eのハンドル部分を手前に引く様子が表示され、操縦桿オブジェクト70eのハンドル部分の向きDeが上方向を向く。すると、飛行機オブジェクト75が上方向を向き、上昇する。アナログスティック32の上方向が入力された場合は逆であり、操縦桿オブジェクト70eのハンドル部分は下方向を向き、飛行機オブジェクト75は下方向を向いて下降する。
 なお、例えば、エンジンオブジェクト70aが翼オブジェクト70bの中央ではなく右側に偏って配置されている場合、飛行機オブジェクト75の進行方向は、翼オブジェクト70bの向きに対して左側となる。この場合、飛行機オブジェクト75は、ユーザによって方向入力操作が行われなくても、左に旋回するように動作する。このような場合において、ユーザによって方向入力操作が行われた場合、飛行機オブジェクト75の進行方向が変化する。例えば、ユーザによって左方向が入力された場合は、飛行機オブジェクト75に対して左方向への回転が与えられ、飛行機オブジェクト75の進行方向がさらに左方向となり、より急に左旋回する。一方、ユーザによって右方向が入力された場合は、飛行機オブジェクト75に対して右方向への回転が与えられる。このユーザの方向入力操作による飛行機オブジェクト75の右方向への回転が、エンジンオブジェクト70aによる進行方向の左方向への偏りより大きい場合は、飛行機オブジェクト75は右方向に旋回する。ユーザの方向入力操作による飛行機オブジェクト75の右方向への回転と、エンジンオブジェクト70aによる進行方向の左方向への偏りとが等しい場合は、飛行機オブジェクト75は前方に直進するようになる。
 ユーザは、飛行機オブジェクト75の他にも、操縦桿オブジェクト70eを含む様々な移動オブジェクトを作成し、ユーザキャラクタPCを移動オブジェクトに乗せて仮想空間内を移動させることができる。
 なお、本実施形態において、「移動オブジェクト」とは、複数の仮想オブジェクト70からなる合体オブジェクトであって、仮想空間内を移動可能なオブジェクトである。移動オブジェクトは、動力オブジェクトを含む移動可能な合体オブジェクトと、動力オブジェクトを含まない移動可能な合体オブジェクトとを含む。
 図17は、ユーザキャラクタPCが合体オブジェクトとしての4輪車オブジェクト76に乗り、仮想空間の地面上を移動する様子を示す図である。
 まず、ユーザは、上述のようにして、仮想空間に配置された板オブジェクト70d、操縦桿オブジェクト70e、及び、4つの車輪オブジェクト70cを組み合わせて、4輪車オブジェクト76を生成する。ユーザは、生成した4輪車オブジェクト76にユーザキャラクタPCを乗せ、操縦桿オブジェクト70eを操作対象として設定する操作を行う。すると、ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動する。このとき、車輪オブジェクト70cがON状態となる。各車輪オブジェクト70cは、動力オブジェクトの一種であり、単体で合体オブジェクトに対して動力を与える。ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動した場合、4つの車輪オブジェクト70cが同時にON状態となる。これにより、4輪車オブジェクト76は、仮想空間内を奥行き方向に向かって直進するようになる。
 図18は、4輪車オブジェクト76が左方向に旋回する様子の一例を示す図である。図19は、4輪車オブジェクト76が上方向を向く様子の一例を示す図である。
 図18に示されるように、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザが例えばアナログスティック32の左方向を入力した場合、ユーザキャラクタPCが操縦桿オブジェクト70eを左方向に向ける様子が表示され、操縦桿オブジェクト70eの向きDeが左方向を向く。すると、4輪車オブジェクト76が左方向に旋回する。アナログスティック32の右方向が入力された場合は逆である。
 また、図19に示されるように、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザが例えばアナログスティック32の下方向を入力した場合、ユーザキャラクタPCが操縦桿オブジェクト70eを手前に引く様子が表示され、操縦桿オブジェクト70eの向きDeが上方向を向く。すると、4輪車オブジェクト76が上方向を向き、ウイリー走行する。
 このように、操縦桿オブジェクト70eは、仮想空間を移動可能な様々な合体オブジェクトに組み入れられることができる。操縦桿オブジェクト70eが合体オブジェクトの一部として組み入れられた場合、操縦桿オブジェクト70eを用いて合体オブジェクトの移動を制御することができる。具体的には、操縦桿オブジェクト70eを用いて、合体オブジェクトに含まれる動力オブジェクトのON/OFFが制御される。また、操縦桿オブジェクト70eを用いて、合体オブジェクトのヨー方向又はピッチ方向の回転が制御される。動力オブジェクトのON/OFFが制御されるとともに、合体オブジェクトのヨー方向又はピッチ方向の回転が制御されることによって、合体オブジェクトの移動が制御される。
 なお、上記では、ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動したことに応じて、合体オブジェクトに含まれる各動力オブジェクトをON状態にしたが、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいる場合において、ユーザによって所定の操作が行われたことに応じて、合体オブジェクトに含まれる各動力オブジェクトがON状態にされてもよい。すなわち、操縦桿操作モードに移行した場合において、ユーザの操作に応じて、合体オブジェクトに含まれる各動力オブジェクトがON状態にされてもよい。
 また、上記では、ユーザは、動力オブジェクトと操縦桿オブジェクト70eとを含む合体オブジェクトを生成するものとしたが、動力オブジェクトを含み、操縦桿オブジェクト70eを含まない合体オブジェクトを生成することもできる。ユーザキャラクタPCが、操縦桿オブジェクト70eを含まない合体オブジェクトに対して所定の動作(例えば、合体オブジェクトに対して矢を発射させる動作)を行った場合、合体オブジェクトに含まれる動力オブジェクトが動作し、合体オブジェクトが移動する。具体的には、合体オブジェクトとして、4つの車輪オブジェクト70cを含み、操縦桿オブジェクト70eを含まない車両オブジェクトが生成された場合、ユーザは、各車輪オブジェクト70cを個別に動作させる(ON状態にさせる)ことで、車両オブジェクトを移動させることができる。具体的には、ユーザは、ユーザキャラクタPCに1本ずつ矢を発射させ、矢を各車輪オブジェクト70cに当てることで、各車輪オブジェクト70cを個別に動作させることができる。4つの車輪オブジェクト70cが動作すると、車両オブジェクトは前進するようになり、ユーザキャラクタPCを当該車両オブジェクトに乗せることで、仮想空間内を移動することができる。しかしながら、車両オブジェクトは操縦桿オブジェクト70eを含まないため、ユーザは、車両オブジェクトを旋回させることはできない。
 このように、合体オブジェクトに操縦桿オブジェクト70eが含まれない場合は、ユーザは、合体オブジェクトに含まれる各動力オブジェクトを1つずつ動作させる必要があり、ユーザにとって煩わしい。例えば、各動力オブジェクトを順に動作させる場合、合体オブジェクトが動いてしまい、ユーザは、動力オブジェクトに対して所定の動作を行いにくい場合がある。しかしながら、合体オブジェクトに操縦桿オブジェクト70eが含まれる場合は、ユーザは、合体オブジェクトに含まれる全ての動力オブジェクトを同時に動作させることができるため、利便性が向上する。
 また、ユーザは、操縦桿オブジェクト70eを含み、動力オブジェクトを含まない合体オブジェクトを生成することも可能である。操縦桿オブジェクト70eを含み、動力オブジェクトを含まない合体オブジェクトの制御については後述する。
 次に、4輪車オブジェクト76を例として、操縦桿オブジェクト70eを用いた4輪車オブジェクト76の回転制御について説明する。図20は、操縦桿オブジェクト70eを用いた4輪車オブジェクト76のヨー方向の回転について説明するための図である。
 図20では、4輪車オブジェクト76を仮想空間の上方から見た図が示されている。図20におけるXYZ座標系は、操縦桿オブジェクト70eを基準とした座標系である。Z軸は、操縦桿オブジェクト70eの前方を示す軸であり、X軸は、操縦桿オブジェクト70eの右方向を示す軸であり、Y軸は、操縦桿オブジェクト70eの上方向を示す軸である。図20に示されるように、4輪車オブジェクト76の進行方向と、操縦桿オブジェクト70eのZ軸方向とが一致するように、操縦桿オブジェクト70eが配置されている。
 例えばアナログスティック32を用いた操縦桿オブジェクト70eの操舵が行われない場合、4輪車オブジェクト76は、4つの車輪オブジェクト70cによって所定の進行方向に移動する。4輪車オブジェクト76の進行方向は、各車輪オブジェクト70cの配置に応じて定まる。図20に示されるように、板オブジェクト70dの左右側面に4つの車輪オブジェクト70cが2つずつバランスよく配置されている場合は、4輪車オブジェクト76の進行方向は、直進方向である。また、4輪車オブジェクト76には、重心位置が定められる。4輪車オブジェクト76の重心位置は、4輪車オブジェクト76を構成する各仮想オブジェクト70の位置、重さによって定められる。図20に示される例では、4つの車輪オブジェクト70cが前後左右にバランスよく配置されているため、4輪車オブジェクト76の重心位置は、4輪車オブジェクト76のほぼ中央に位置する。
 図20の下図に示されるように、ユーザが例えばアナログスティック32を用いて左方向を入力した場合、ユーザキャラクタPCによって操縦桿オブジェクト70eのハンドル部分が操舵され、操縦桿オブジェクト70eのハンドル部分が左方向を向く。これに応じて、4輪車オブジェクト76は、重心位置を基準としてヨー方向における左方向に回転する。具体的には、4輪車オブジェクト76が、4輪車オブジェクト76の重心位置を通り仮想空間の上下方向に平行な軸を中心として左回りに回転するように、4輪車オブジェクト76を構成する各仮想オブジェクト70に対して回転速度が与えられる。より具体的には、4輪車オブジェクト76を構成する各仮想オブジェクト70に対して、角速度と、4輪車オブジェクト76の重心位置からの距離に応じた並進速度とが与えられる。車輪オブジェクト70cによる前方への速度と、ヨー方向における左方向への回転速度とによって、4輪車オブジェクト76全体が、左方向に旋回する。なお、4輪車オブジェクト76が、4輪車オブジェクト76の重心位置を通り、操縦桿オブジェクト70eを基準としたXYZ座標系におけるY軸と平行な軸を中心として回転するように、4輪車オブジェクト76を構成する各仮想オブジェクト70に対して回転速度が与えられてもよい。
 なお、車輪オブジェクト70cは、地面と接触しており、車輪オブジェクト70cと地面との間には摩擦が発生する。後述するように、仮想空間でのオブジェクトの挙動は、物理法則に従った計算によって定められる。各オブジェクト間の摩擦も考慮されて、各オブジェクトの挙動が計算される。4輪車オブジェクト76が直進するときには(操縦桿オブジェクト70eが操舵されていないときは)、車輪オブジェクト70cと地面との間の摩擦は比較的大きな値に設定され、4輪車オブジェクト76が旋回する場合には(操縦桿オブジェクト70eが操舵されているときは)、車輪オブジェクト70cと地面との間の摩擦は比較的小さな値に設定される。これにより、4輪車オブジェクト76全体がヨー方向に回転し易くなる。なお、4輪車オブジェクト76を旋回させる際に車輪オブジェクト70cと地面との間の摩擦を下げることにより、車輪オブジェクト70cが地面に対して滑るようなことがあってもよい。例えば、4輪車オブジェクト76が坂道を上っているときに旋回させた場合、車輪オブジェクト70cと地面との間の摩擦が下がり、これによって、4輪車オブジェクト76がずり下がるようになってもよい。なお、このようなずり下がりを防止するために、4輪車オブジェクト76が坂道を上ったり下りたりするときには、車輪オブジェクト70cと地面との間の摩擦の低下量を下げたり、ゼロにしたりしてもよい。
 図21は、操縦桿オブジェクト70eが4輪車オブジェクト76の進行方向と逆方向に配置されている場合のヨー方向の回転について説明するための図である。
 図21に示されるように、操縦桿オブジェクト70eの向き(Z軸方向)が4輪車オブジェクト76の進行方向と真逆になるように、操縦桿オブジェクト70eが4輪車オブジェクト76に配置されている。このような合体オブジェクトの構成において、アナログスティック32を用いた操縦桿オブジェクト70eの操舵が行われていない場合、4輪車オブジェクト76は、操縦桿オブジェクト70eの向きとは逆方向に進行する(ユーザキャラクタPCから見れば後進しているように見える)。
 図21の下図に示されるように、ユーザが例えばアナログスティック32を用いて左方向を入力した場合、ユーザキャラクタPCによって操縦桿オブジェクト70eが操舵され、操縦桿オブジェクト70eのハンドル部分が左方向を向く。これに応じて、図20で示したのと同様に、4輪車オブジェクト76は、重心位置を基準としてヨー方向における左方向に回転する。車輪オブジェクト70cによる後方への速度と、ヨー方向における左方向への回転速度とによって、4輪車オブジェクト76は、操縦桿オブジェクト70eの向きを前方とした場合に、右後方に移動する(4輪車オブジェクト76の進行方向を基準とした場合は、4輪車オブジェクト76は左方向に旋回する)。
 操縦桿オブジェクト70eが、4輪車オブジェクト76におけるどの位置、4輪車オブジェクト76に対してどの向きに配置されても、同様の制御となる。例えば、ユーザによって左方向が入力された場合、操縦桿オブジェクト70eのハンドル部分が、操縦桿オブジェクト70eを基準として左方向を向き、4輪車オブジェクト76は、重心位置を基準としてヨー方向における左方向に回転する。ユーザによって右方向の入力が行われた場合は逆である。すなわち、ユーザの入力方向と、操縦桿オブジェクト70eのハンドル部分の向きの変化方向と、4輪車オブジェクト76のヨー方向における回転方向とは、一致し、これらは、4輪車オブジェクト76における操縦桿オブジェクト70eの位置や向きに依存しない。
 操縦桿オブジェクト70eにも重さが設定されており、操縦桿オブジェクト70eの4輪車オブジェクト76における位置に応じて、4輪車オブジェクト76の重心位置は変化する。重心位置を基準として4輪車オブジェクト76を構成する各仮想オブジェクトが回転されるため、操縦桿オブジェクト70eの4輪車オブジェクト76における位置によって、4輪車オブジェクト76の回転の仕方が微妙に変化する。しかしながら、操縦桿オブジェクト70eが4輪車オブジェクト76におけるどのような位置に配置されても、ユーザの入力方向と操縦桿オブジェクト70eの操舵方向と4輪車オブジェクト76の回転方向との関係は変わらない。例えば、図20及び図21で示したように、操縦桿オブジェクト70eが左方向に操舵された場合は、4輪車オブジェクト76は重心位置を基準として左回りに回転する。なお、操縦桿オブジェクト70eには重さが設定されず、操縦桿オブジェクト70eが4輪車オブジェクト76におけるどのような位置に配置されても、4輪車オブジェクト76の重心位置は変わらなくてもよい。この場合、操縦桿オブジェクト70eの位置は、4輪車オブジェクト76のヨー方向の回転には影響を与えない。
 図22は、操縦桿オブジェクト70eを用いた4輪車オブジェクト76のピッチ方向の回転について説明するための図である。図22では、4輪車オブジェクト76を仮想空間の横方向から見た図が示されている。
 図22に示されるように、ユーザが例えばアナログスティック32を用いて下方向を入力した場合、ユーザキャラクタPCによって操縦桿オブジェクト70eが操舵され、操縦桿オブジェクト70eがユーザキャラクタPCから見て上方向を向く。これに応じて、4輪車オブジェクト76は、重心位置を基準として上方向(ピッチ方向)に回転する。具体的には、4輪車オブジェクト76が仮想空間の上方向を向くように、4輪車オブジェクト76の重心位置を中心として、4輪車オブジェクト76を構成する各仮想オブジェクト70に対して回転速度が与えられる。これにより、4輪車オブジェクト76全体が、上方向を向き、ウイリーする。
 図20~図22では、4輪車オブジェクト76を例として説明したが、操縦桿オブジェクト70eを含む他の合体オブジェクトも同様である。例えば、図15のように、飛行機オブジェクト75をヨー方向に回転させる場合、飛行機オブジェクト75に対して、重心位置を基準としたヨー方向の回転が加えられる。また、図16のように、飛行機オブジェクト75をピッチ方向に回転させる場合、飛行機オブジェクト75に対して、重心位置を基準としたピッチ方向の回転が加えられる。
 なお、図示は省略するが、操縦桿オブジェクト70eを有し、動力を有さない他の合体オブジェクトについても同様に、操縦桿オブジェクト70eに対する操舵によって、合体オブジェクトに対して回転が与えられる。
 例えば、板オブジェクト70dの上面に操縦桿オブジェクト70eが配置され、板オブジェクト70dと操縦桿オブジェクト70eとからなる合体オブジェクトが構成された場合でも、操縦桿オブジェクト70eに対する操舵によって、合体オブジェクトに対して回転が与えられる。具体的には、ユーザキャラクタPCが操縦桿オブジェクト70eの位置にいるときに、ユーザによって例えばアナログスティック32を用いて左方向が入力された場合、合体オブジェクトに対して(合体オブジェクトに含まれる各仮想オブジェクト70に対して)、合体オブジェクトの重心位置を基準としたヨー方向における左方向への回転速度が与えられる。板オブジェクト70dと地面との摩擦が所定位置以下の場合には、合体オブジェクトは、その場で左回りに回転する。
 また、例えば板オブジェクト70dの上面に操縦桿オブジェクト70eが配置され、合体オブジェクトが構成された場合において、当該合体オブジェクトを仮想空間内の川や海等の水上に浮かべることもできる。この場合、合体オブジェクトは動力オブジェクトを含まないため、川の流れに沿って仮想空間内を移動する。このとき、操縦桿オブジェクト70eが操舵された場合、合体オブジェクトに対して回転が与えられる。具体的には、合体オブジェクトに対して、重心位置を基準としたヨー方向における左方向への回転速度が与えられる。この場合は、合体オブジェクトは、川の流れに沿って進みながらヨー方向に(仮想空間の上下方向の軸回りに)回転するだけであり、合体オブジェクトの移動方向は変化しない。
 なお、動力オブジェクトを有さない移動オブジェクトであっても、操縦桿オブジェクト70eに対する操舵によって移動オブジェクトの移動方向が変化される場合がある。
 図23は、翼オブジェクト70bと操縦桿オブジェクト70eとを含む飛行機オブジェクト77にユーザキャラクタPCが乗って仮想空間を直進する様子の一例を示す図である。図24は、飛行機オブジェクト77が操縦桿オブジェクト70eに対する操舵によって左に旋回する様子の一例を示す図である。
 図23に示されるように、飛行機オブジェクト77は、動力オブジェクトを含まない。しかし、本実施形態では、飛行機オブジェクト77が仮想空間の空を飛ぶ場合には、飛行機オブジェクト77の後方から前方(図23において紙面手前から奥方向)に向かう仮想的な推進力が飛行機オブジェクト77に与えられる。すなわち、画面上には表示されないものの、あたかも図14におけるエンジンオブジェクト70aの位置および方向に動力オブジェクトが設けられているかのように制御される。
 図24に示されるように、例えば、ユーザがアナログスティック32を用いて左方向を入力した場合、上記と同様に、ユーザキャラクタPCによって操縦桿オブジェクト70eが操舵され、操縦桿オブジェクト70eのハンドル部分が左方向を向く。これに応じて、飛行機オブジェクト77は、重心位置を基準としてヨー方向における左方向に回転する。そして、翼オブジェクト70bの向きが左方向に変化するとともに仮想的な推進力が与えられる方向も左に変化し、それによって飛行機オブジェクト77が左旋回する。すなわち、動力オブジェクトを有さない飛行機オブジェクト77も、動力オブジェクトを有する飛行機オブジェクト75と同様に、進行方向への推進力を有するものと捉えることができ、上記と同じ制御によって飛行機オブジェクト77を旋回させることができる。具体的には、ユーザキャラクタPCによる操縦桿オブジェクト70eのハンドル部分に対する操舵によって、飛行機オブジェクト77の進行方向が、飛行機オブジェクト77の重心位置を基準として回転される。このため、飛行機オブジェクト77が進行方向に移動しているときに、例えば、操縦桿オブジェクト70eのハンドル部分が左右方向に向けられた場合、進行方向を維持したまま(つまり直進したまま)単に飛行機オブジェクト77がヨー方向に回転するのではなく、進行方向自体が変化して、飛行機オブジェクト77は左右方向に旋回する動作を行う。
 なお、上記のような仮想的な推進力は、エンジンオブジェクト70aや扇風機オブジェクト70fのような動力オブジェクトが操縦桿オブジェクト70eに組まれた際にこれら動力オブジェクトによって与えられる推進力よりも小さく設定される。これは、仮想的な推進力は、飛行機オブジェクト77が操縦桿オブジェクト70eのハンドル部分に対する操舵に応答して旋回すれば足るからである。また、仮想的な推進力が動力オブジェクトの推進力と同等またはそれ以上の大きさの場合、動力オブジェクトを飛行機オブジェクト77に組むモチベーションが低減し、興趣性の低下につながるおそれも考えられるためである。
 このような仮想的な推進力を与えることによって、ユーザは、動力オブジェクトがなくとも操縦桿オブジェクト70eを用いて飛行機オブジェクト77を旋回させることができる。なお、このような仮想的な推進力は、操縦桿を備えるオブジェクトのうち、飛行機オブジェクト75(操縦桿オブジェクトを備える翼オブジェクト)のみ与えられてもよいし、他の乗り物オブジェクトにも与えられても良い。また、このような仮想的な推進力は、動力オブジェクトが備えられていないときのみ与えられてもよいし、動力オブジェクトの有無と関係なく与えられてもよい。なお、本実施形態では、仮想的な推進力は、飛行機オブジェクト77の後方から前方(図23において紙面手前から奥方向)の所定の方向に与えられた。これは、飛行機オブジェクト77(あるいは翼オブジェクト)のデザインが、一方と他方(前後方向)の区別ができ、かつ、ユーザにとってどちらが前方として妥当であるか事前に想定ができるためである。しかし、他の実施形態では、仮想的な推進力は操縦桿オブジェクトの向きに応じて決定されてもよいし、あるいは、初速が与えられた方向や初動の方向に基づいて決定されてもよい。
 以上のように、本実施形態では、合体オブジェクトに含まれる操縦桿オブジェクト70eを用いて、合体オブジェクトの移動方向を制御することができる。具体的には、合体オブジェクトは、操縦桿オブジェクト70eを用いてヨー方向又はピッチ方向に回転する。なお、本実施形態では、操縦桿オブジェクト70eを用いて、合体オブジェクトは、ロール方向には回転しないものとするが、他の実施形態では、ロール方向にも回転してもよい。また、本実施形態では、一般的に移動体の移動方向を制御するための機構に対応するオブジェクト(例えば飛行機における可動翼、イカダにおける舵など)が無くとも、合体オブジェクトに操縦桿オブジェクトが含まれることで移動方向を制御することができる。すなわち、合体オブジェクトが操縦桿オブジェクトを含みさえすれば、合体オブジェクトが移動する際の移動方向を制御することができ、ユーザビリティに優れる。
 (操縦桿オブジェクト70eの姿勢の補正)
 次に、操縦桿オブジェクト70eを含む合体オブジェクトの姿勢の補正について説明する。上述のように、本実施形態では、操縦桿オブジェクト70eを含む合体オブジェクトは、ユーザの操作により仮想空間内を移動する。例えば、合体オブジェクトとして、飛行機オブジェクト75が仮想空間を飛行する場合、飛行機オブジェクト75は、例えば仮想空間の風の影響を受けたり、仮想空間内の所定のオブジェクトと衝突したりしながら飛行する。例えば風の影響を受けると、飛行機オブジェクト75はロール方向に回転したり、ピッチ方向に回転したりする。また、ユーザによって操縦桿オブジェクト70eを用いた操舵が行われた場合、飛行機オブジェクト75はロール方向やピッチ方向に回転する。本実施形態では、このような場合に、飛行機オブジェクト75の姿勢の補正が行われる。
 図25は、操縦桿オブジェクト70eのロール方向の姿勢の補正の一例を示す図である。図26は、操縦桿オブジェクト70eのピッチ方向の姿勢の補正の一例を示す図である。
 図25では、飛行機オブジェクト75の進行方向は紙面手前から奥方向である。図25に示されるように、飛行機オブジェクト75が仮想空間を飛行する場合、例えば風の影響によって、飛行機オブジェクト75がロール方向に回転する場合がある。このとき、操縦桿オブジェクト70eが左右方向に傾く。この場合、操縦桿オブジェクト70eの姿勢が水平に近づくように、飛行機オブジェクト75の姿勢が補正される。例えば、操縦桿オブジェクト70eのX軸が仮想空間の左右方向の軸と平行に近づくように(X軸と仮想空間の左右方向の軸との角度が0度に近づくように)、飛行機オブジェクト75全体が、Z軸回り(又は仮想空間の奥行き方向の軸回り)に回転される。
 また、図26では、飛行機オブジェクト75を仮想空間の横から見た図が示されている。図26に示されるように、飛行機オブジェクト75が仮想空間を飛行する場合、例えば風の影響によって、飛行機オブジェクト75がピッチ方向に回転する場合がある。このとき、操縦桿オブジェクト70eが前後方向に傾く。この場合、操縦桿オブジェクト70eの姿勢が水平に近づくように、飛行機オブジェクト75の姿勢が補正される。例えば、操縦桿オブジェクト70eのZ軸が仮想空間の奥行き方向の軸と平行に近づくように(Z軸と仮想空間の奥行き方向の軸との角度が0度に近づくように)、飛行機オブジェクト75全体が、X軸回り(又は仮想空間の左右方向の軸回り)に回転される。
 このような補正によって、飛行機オブジェクト75が仮想空間において傾く場合があっても、操縦桿オブジェクト70eを水平に近づけることができる。これにより、ユーザは、操縦桿オブジェクト70eを用いた飛行機オブジェクト75の操舵を行いやすくなる。なお、本実施形態では、ロール方向又はピッチ方向にのみこのような補正が行われ、ヨー方向については補正は行われない。
 なお、図25及び図26では、操縦桿オブジェクト70eが水平になるように補正されたが、補正の度合いは所定の範囲に限られており、飛行機オブジェクト75がロール方向に所定以上傾いている場合は、補正が行われても操縦桿オブジェクト70eは水平にはならなくともよい。また、補正の度合いは小さくされ、ロール方向又はピッチ方向への回転の力が所定以上の場合には、補正によっては水平に戻らないものとされてもよい。例えば、補正は、ロール方向又はピッチ方向への回転力(あるいは回転速度)を合体オブジェクト(又は合体オブジェクトを構成する各仮想オブジェクト)に付与することによって行われ、補正の度合い(付与される回転力あるいは回転速度)は比較的小さく設定される。飛行機オブジェクト75には、風や他のオブジェクト等の影響によってロール方向又はピッチ方向へ回転力(回転速度)が付与されるが、この回転力が所定以上の場合には、補正による回転力が打ち消され、補正によっては飛行機オブジェクト75は水平にならない。
 このようなロール方向及びピッチ方向の姿勢の補正は、飛行機オブジェクト75(操縦桿オブジェクトを備える翼オブジェクト)のみ行われてもよいし、操縦桿オブジェクト70eを含む他の合体オブジェクトも、同様の補正が行われてもよい。例えば、4輪車オブジェクト76の場合でも、操縦桿オブジェクト70eが水平に近づくように、4輪車オブジェクト76がロール方向又はピッチ方向に回転されてもよい。
 (ゲーム処理に用いられるデータの説明)
 次に、上述したゲーム処理に用いられるデータについて説明する。図27は、ゲーム処理の実行中に本体装置2のメモリに記憶されるデータの一例を示す図である。
 図27に示されるように、本体装置2のメモリ(DRAM85、フラッシュメモリ84、又は外部記憶媒体)には、ゲームプログラムと、操作データと、ユーザキャラクタデータと、複数の合体オブジェクトデータとが記憶される。
 ゲームプログラムは、上述したゲーム処理を実行するためのプログラムである。ゲームプログラムは、スロット23に装着される外部記憶媒体又はフラッシュメモリ84に予め記憶されており、ゲームの実行時にDRAM85に読み込まれる。なお、ゲームプログラムは、ネットワーク(例えばインターネット)を介して他の装置から取得されてもよい。
 操作データは、左コントローラ3の各ボタン103、アナログスティック32、加速度センサ104、角速度センサ105、右コントローラ4の各ボタン113、アナログスティック52、加速度センサ114、角速度センサ115からのデータを含む。本体装置2は、各コントローラから所定の時間間隔(例えば、1/200秒間隔)で操作データを受信し、当該操作データをメモリに記憶する。また、操作データは、本体装置2からのデータ(加速度センサ、角速度センサ、タッチパネル等からのデータ)を含む。
 ユーザキャラクタデータは、ユーザキャラクタPCに関するデータであり、ユーザキャラクタPCの仮想空間における位置や姿勢に関する情報を含む。また、ユーザキャラクタデータは、ユーザキャラクタPCが所有するアイテムや能力等を示す情報を含んでもよい。
 合体オブジェクトデータは、ユーザによって作成された、複数の仮想オブジェクト70からなる1つ合体オブジェクトに関するデータである。複数の合体オブジェクトが仮想空間に配置されている場合、合体オブジェクト毎に合体オブジェクトデータが記憶される。
 合体オブジェクトデータは、合体オブジェクトを構成する複数の仮想オブジェクト70に関するデータを含む。具体的には、合体オブジェクトデータは、動力オブジェクトデータを含む。動力オブジェクトデータは、動力オブジェクト(例えば、エンジンオブジェクト70a、車輪オブジェクト70c等)に関するデータであり、動力オブジェクトの種類、合体オブジェクトにおける位置、姿勢、動作状態、及び重さに関するデータを含む。また、合体オブジェクトデータは、操縦桿オブジェクトデータを含む。操縦桿オブジェクトデータは、操縦桿オブジェクト70eの合体オブジェクトにおける位置、及び、仮想空間における姿勢に関する情報を含む。また、合体オブジェクトデータは、その他の仮想オブジェクト70に関する仮想オブジェクトデータを含む。また、合体オブジェクトデータは、合体オブジェクト情報を含む。
 合体オブジェクト情報は、合体オブジェクトの挙動を計算する際に用いられる情報であり、例えば、合体オブジェクトの重心位置を含む。合体オブジェクトの重心位置は、その合体オブジェクトを構成する複数の仮想オブジェクト70の重さ、合体オブジェクトにおける位置、姿勢等に基づいて算出される。
 (本体装置2におけるゲーム処理の詳細)
 次に、本体装置2において行われるゲーム処理の詳細について説明する。図28は、本体装置2のプロセッサ81によって実行されるゲーム処理の一例を示すフローチャートである。
 図28に示されるように、プロセッサ81は、まず、初期処理を実行する(ステップS100)。具体的には、プロセッサ81は、仮想空間を設定し、仮想空間にユーザキャラクタPC、仮想カメラ、及び、複数の仮想オブジェクト70等を配置する。これらの他にも様々なオブジェクト(例えば、仮想空間の地面を表すオブジェクト、仮想空間に固定された木や建物などのオブジェクト)が仮想空間に配置される。
 次に、プロセッサ81は、合体オブジェクト生成処理を行う(ステップS101)。合体オブジェクト生成処理では、ユーザの操作に基づいて、複数の仮想オブジェクト70からなる合体オブジェクトが生成され、合体オブジェクトデータとしてメモリに記憶される。具体的には、ユーザの選択操作に応じて仮想空間に配置された仮想オブジェクト70が選択され、選択された仮想オブジェクト70と他の仮想オブジェクト70とが接続される。複数の仮想オブジェクト70が接続されることで、合体オブジェクトが生成される。
 合体オブジェクト生成処理が行われた後、ステップS102以降の処理が所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し行われる。以下、ステップS102以降の処理について説明する。
 ステップS102において、プロセッサ81は、操作データを取得する。ステップS102では、プロセッサ81は、各コントローラから送信されてメモリに記憶された操作データを取得する。
 次にプロセッサ81は、ユーザキャラクタ制御処理を行う(ステップS103)。ステップS103では、操作データに基づいて、ユーザキャラクタPCを仮想空間内で移動させたり、ユーザキャラクタPCに所定の動作を行わせたりする。例えば、ユーザキャラクタPCが合体オブジェクトの近傍に位置しているときに、コントローラを用いて所定の操作が行われた場合、ユーザキャラクタPCが合体オブジェクトの上に乗る。
 次に、プロセッサ81は、現在、操縦桿オブジェクト70eを操作する操縦桿操作モードに設定されているか否かを判定する(ステップS104)。操縦桿操作モードでない場合(ステップS104:NO)、プロセッサ81は、操縦桿操作モードに移行するか否かを判定する(ステップS105)。具体的には、ユーザキャラクタPCが操縦桿オブジェクト70eを含む合体オブジェクトの上に乗っている状態で、コントローラを用いて所定の操作が行われた場合、プロセッサ81は、ステップS105でYESと判定する。
 ステップS105でYESと判定した場合、プロセッサ81は、操縦桿操作モードを設定する(ステップS106)。プロセッサ81は、ステップS106において、プレイヤオブジェクトPCを操縦桿オブジェクト70eの位置に移動させる。一方、ステップS105でNOと判定した場合、プロセッサ81は、次にステップS108の処理を実行する。
 ステップS106に続いて、プロセッサ81は、合体オブジェクト制御処理を行う(ステップS107)。合体オブジェクト制御処理は、操縦桿オブジェクト70eを用いて合体オブジェクトの移動を制御する処理である。合体オブジェクト制御処理の詳細については後述する。
 ステップS107の処理を行った場合、又は、ステップS105でNOと判定した場合、プロセッサ81は、物理演算処理を行う(ステップS108)。ステップS108では、仮想空間内の全てのオブジェクトについて、その位置、大きさ、重さ、速度、回転速度、加わる力、摩擦等に基づいて、物理法則に従った計算が行われ、各オブジェクトの動作が制御される。仮想空間内の仮想オブジェクト70や合体オブジェクトが移動する場合には、他のオブジェクトとの衝突判定が行われ、衝突判定の結果に応じて、各オブジェクトの挙動が計算される。
 例えば、合体オブジェクトとして、4輪車オブジェクト76が移動する場合、ステップS107の処理の結果に基づく4輪車オブジェクト76の進行方向の速度と、4輪車オブジェクト76の回転速度とに基づいて、4輪車オブジェクト76の挙動が計算される。この場合、車輪オブジェクト70cと地面との摩擦が考慮される。例えば、操縦桿オブジェクト70eの操舵によって、4輪車オブジェクト76に対してヨー方向における左方向の回転が加えられた場合、プロセッサ81は、地面との摩擦を減少させて、4輪車オブジェクト76の挙動を計算する。
 また、合体オブジェクトとして、飛行機オブジェクト75が空を飛ぶ場合、ステップS107の処理の結果に基づく飛行機オブジェクト75の進行方向の速度と、飛行機オブジェクト75の回転速度とに基づいて、飛行機オブジェクト75の挙動が計算される。
 次に、プロセッサ81は、出力処理を行う(ステップS109)。具体的には、プロセッサ81は、仮想カメラに基づいてゲーム画像を生成し、当該ゲーム画像をディスプレイ12又は据置型モニタに表示させる。また、プロセッサ81は、ゲーム処理の結果に応じた音声をスピーカから出力させる。
 続いて、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS110)。例えば、ユーザによってゲームの終了が指示された場合、プロセッサ81は、ステップS110でYESと判定して、図28に示すゲーム処理を終了する。ステップS110でNOと判定した場合、プロセッサ81は、ステップS102の処理を再び実行する。
 (合体オブジェクト制御処理)
 次に、上記ステップS107の合体オブジェクト制御処理の詳細について説明する。図29は、ステップS107の合体オブジェクト制御処理の一例を示すフローチャートである。
 図29に示されるように、プロセッサ81は、合体オブジェクトに動力オブジェクトが含まれているか否かを判定する(ステップS200)。合体オブジェクトに動力オブジェクトが含まれている場合(ステップS200:YES)、プロセッサ81は、合体オブジェクトに含まれる全ての動力オブジェクトをON状態にする(ステップS201)。
 ステップS201の処理を行った場合、又は、ステップS200でNOと判定した場合、プロセッサ81は、操作データに基づいて、方向指示操作が行われたか否かを判定する(ステップS202)。プロセッサ81は、例えば、アナログスティック32を用いた方向指示操作が行われたか否かを判定する。
 方向指示操作が行われた場合(ステップS202:YES)、プロセッサ81は、合体オブジェクトを回転させる(ステップS203)。具体的には、プロセッサ81は、アナログスティック32の入力方向に応じて、合体オブジェクトに含まれる各仮想オブジェクト70が合体オブジェクトの重心位置回りで回転するように、各仮想オブジェクト70に回転速度を付与する。このステップS023で付与された回転速度に基づいてステップS108において物理演算が行われることで、各仮想オブジェクト70が回転され、合体オブジェクトが回転する。
 例えば、プロセッサ81は、ステップS203において、アナログスティック32の左右方向の入力に応じて、合体オブジェクトの重心位置を基準として、合体オブジェクトに含まれる各仮想オブジェクト70をヨー方向(仮想空間の上下方向の軸回り)に回転させる。これにより、合体オブジェクトは、ヨー方向(左右方向)に旋回する。また、プロセッサ81は、アナログスティック32の上下方向の入力に応じて、合体オブジェクトの重心位置を基準として、合体オブジェクトに含まれる各仮想オブジェクト70をピッチ方向(仮想空間の左右方向の軸回り)に回転させる。
 ステップS203の処理を行った場合、又は、ステップS202でNOと判定した場合、プロセッサ81は、姿勢補正処理を行う(ステップS204)。ここでは、プロセッサ81は、上述のように、操縦桿オブジェクト70eの姿勢が水平に近づくように、合体オブジェクトをロール方向又はピッチ方向に回転させる。
 次に、プロセッサ81は、操縦桿操作モードを終了するか否かを判定する(ステップS205)。コントローラを用いて操縦桿操作モードを終了する指示が行われた場合、プロセッサ81は、ステップS205でYESと判定し、操縦桿操作モードを終了する(ステップS206)。具体的には、ステップS206において、プロセッサ81は、上記ステップS201でON状態にした全ての動力オブジェクトをOFF状態に設定する。これにより合体オブジェクトの移動が停止するとともに、ユーザキャラクタPCが操縦桿オブジェクト70eの位置から離れる。
 ステップS206の処理を行った場合、又は、ステップS205でNOと判定した場合、プロセッサ81は、図29に示す処理を終了する。
 なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容等は適宜変更されてもよい。
 以上のように、本実施形態では、ユーザは、仮想空間に配置された複数の仮想オブジェクト70を組み合わせて合体オブジェクトを生成する(ステップS101)。複数の仮想オブジェクト70には、合体オブジェクトに動力を与える仮想動力オブジェクト(エンジンオブジェクト70a、車輪オブジェクト70c、扇風機オブジェクト70f等)と、仮想コントローラオブジェクト(操縦桿オブジェクト70e)とが含まれる。ユーザは、合体オブジェクトとして、仮想動力オブジェクトと仮想コントローラオブジェクトとを含む仮想空間を移動可能な移動オブジェクトを生成することができる。仮想コントローラオブジェクトが移動オブジェクトに含まれる場合、仮想動力オブジェクトが動作されて移動オブジェクトが所定の進行方向に移動し(ステップS201)、ユーザの入力に基づいて、移動オブジェクトの移動方向が変化される(ステップS203)。
 これにより、ユーザは、複数の仮想オブジェクトを組み合わせて合体オブジェクトを生成することができるとともに、当該合体オブジェクトの移動を仮想コントローラオブジェクトを用いて制御することができる。このため、複数の仮想オブジェクトを組み合わせた合体オブジェクトに多様性を持たせることができる。また、仮想コントローラオブジェクトを用いて仮想動力オブジェクトの動作も制御することができるため、ユーザの利便性を向上することができる。
 また、本実施形態では、仮想動力オブジェクトの動作状態には、移動オブジェクトに動力を与えるON状態と、動力を与えないOFF状態とがあり、ユーザの入力に基づいて、1の仮想動力オブジェクトをON状態又はOFF状態に設定することができる。仮想コントローラオブジェクトが操作対象として設定されている場合、移動オブジェクトに含まれる全ての仮想動力オブジェクトが同時にON状態又はOFF状態にされる。複数の仮想動力オブジェクトが同時にON状態又はOFF状態にされることにより、1つずつON状態又はOFF状態にする場合よりもユーザの利便性が向上する。また、例えば、1つずつ仮想動力オブジェクトがON状態にされる場合には、仮想動力オブジェクトがON状態にされる毎に、移動オブジェクトの移動方向が変化してしまう場合があるが、複数の仮想動力オブジェクトが同時にON状態にされることにより、移動オブジェクトを所定の進行方向に移動させることができる。また、例えば、1つずつ仮想動力オブジェクトがOFF状態にされる場合には、ユーザが移動オブジェクトを停止させようとしても、ON状態の仮想動力オブジェクトが残り、移動オブジェクトをすぐに停止させることができなくなってしまう場合がある。しかしながら、本実施形態では、複数の仮想動力オブジェクトが同時にOFF状態にされるため、所望の位置やタイミングで移動オブジェクトを停止させることができる。
 また、本実施形態では、仮想コントローラオブジェクトは、移動オブジェクトにおける、ユーザによって指定された位置に配置される。また、移動オブジェクトには、通常部分と優先部分(優先接続部BP)とが設けられ、仮想コントローラオブジェクトは、移動オブジェクトにおける優先部分に優先的に配置される。ユーザは、移動オブジェクトにおける所望の位置に仮想コントローラオブジェクトを配置することができ、移動オブジェクトを生成するときの自由度を高めることができる。また、仮想コントローラオブジェクトは移動オブジェクトにおける優先部分に優先的に配置されるため、仮想コントローラオブジェクトを移動オブジェクトに配置するときの利便性が向上する。
 また、本実施形態では、ユーザ入力に基づいて、ユーザキャラクタが仮想コントローラオブジェクトを含む移動オブジェクト上に乗る。これにより、ユーザキャラクタが移動オブジェクトを制御することができる。例えば、ユーザの入力に基づいて、ユーザキャラクタが移動オブジェクト上の仮想コントローラオブジェクトを操作し、仮想コントローラオブジェクトの少なくとも一部(ハンドル部分)の向きが変化され、移動オブジェクトの移動方向が変化される。
 また、本実施形態では、ユーザによるアナログスティック32に対する操作によってユーザキャラクタが移動され、ユーザキャラクタが移動オブジェクト上の仮想コントローラオブジェクトに対応する位置(仮想コントローラオブジェクトの位置を含む所定範囲)に存在する場合、ユーザの入力(例えば所定のボタンの押下)に応じて、ユーザキャラクタが仮想コントローラオブジェクトの位置に移動する。ユーザキャラクタが仮想コントローラオブジェクトの位置に移動した場合、仮想コントローラオブジェクトが操作対象として設定され、移動オブジェクトを制御することができる。
 また、本実施形態では、移動オブジェクトにおける仮想コントローラオブジェクトの位置にかかわらず、ユーザの入力方向に応じた方向に移動オブジェクトの移動方向が変化される。これにより、仮想コントローラオブジェクトがどこに配置されても、ユーザは同じ操作で移動オブジェクトの移動方向を変化させることができる。
 また、仮想動力オブジェクトと仮想コントローラオブジェクトとが特定の位置関係でなくても、ユーザの入力に応じて移動オブジェクトの移動が制御される。また、仮想動力オブジェクトと仮想コントローラオブジェクトとの間に特定のオブジェクト(例えば、動力を伝達する特定のオブジェクト)が介在することなく、ユーザの入力に応じて移動オブジェクトの移動が制御される。すなわち、仮想動力オブジェクトと仮想コントローラオブジェクトとの位置関係にかかわらず、また、これらの間を繋ぐような特定のオブジェクトを必要とせずに、ユーザの入力に応じて移動オブジェクトの移動を制御することができる。なお、逆に、仮想動力オブジェクトと仮想コントローラオブジェクトとの位置関係や、これらの間に特定のオブジェクトが介在しているか否かによって、移動オブジェクトの制御の態様が異なってもよい。例えば、仮想動力オブジェクトと仮想コントローラオブジェクトとが特定の位置関係である場合に、ユーザの入力に応じて移動オブジェクトの移動が制御され、特定の位置関係でない場合は、移動オブジェクトの移動が制限されてもよい。また、仮想動力オブジェクトと仮想コントローラオブジェクトとの間に特定のオブジェクトが介在している場合は、ユーザの入力に応じて移動オブジェクトの移動が制御され、特定のオブジェクトが介在していない場合は、移動オブジェクトの移動が制限されてもよい。
 また、本実施形態では、ユーザは、移動オブジェクトに対する仮想コントローラオブジェクトの向きを指定して、仮想コントローラオブジェクトを移動オブジェクトに配置することができる。これにより、仮想コントローラオブジェクトを所望の向きで配置することができ、移動オブジェクトを生成するときの自由度を高めることができる。
 また、本実施形態では、移動オブジェクトにおける仮想コントローラオブジェクトの向きにかかわらず、ユーザの入力方向に応じた方向に移動オブジェクトの移動方向が変化される。これにより、仮想コントローラオブジェクトがどの向きで配置されても、ユーザは同じ操作で移動オブジェクトの移動方向を変化させることができる。
 また、本実施形態では、移動オブジェクトに対して移動オブジェクトの重心位置回りの回転速度を付与することにより、移動オブジェクトの移動方向が変化される。具体的には、移動オブジェクトを構成する各仮想オブジェクトに対して、移動オブジェクトの重心位置回りの回転速度を付与する。これにより、ユーザによって様々な仮想オブジェクトを用いて移動オブジェクトが生成されても、移動オブジェクトの移動方向を変化させることができる。移動オブジェクトに対して重心位置を基準として回転速度を付与するため、例えば、動力を有さない合体オブジェクトが加速して移動することはなく、自然な挙動にすることができる。
 また、本実施形態では、仮想空間の地面に接触しながら移動する移動オブジェクト(4輪車オブジェクト)を生成することができ、当該4輪車オブジェクトの移動方向を変化させる場合、4輪車オブジェクトを所定の進行方向に移動させる場合よりも、4輪車オブジェクトと地面との摩擦を小さくする。これにより、4輪車オブジェクトを旋回させやすくすることができる。
 また、本実施形態では、移動オブジェクトに含まれる仮想コントローラオブジェクトの仮想空間における姿勢が所定の姿勢(例えば水平姿勢)となるように、移動オブジェクトのロール方向又はピッチ方向の姿勢が補正される。これにより、移動オブジェクトの姿勢が変化する場合でも仮想コントローラオブジェクトの姿勢を所定の姿勢に保つことができ、操作性を向上させることができる。
 また、本実施形態では、共通の操縦桿オブジェクトを用いて合体オブジェクト(移動オブジェクト)を操作することができる。ユーザは自由に合体オブジェクト(移動オブジェクト)を組むことができるため、組み合わせられた移動オブジェクトがどのような種類(例えばクルマや飛行機)に分類されるか分からない場合があるが、どのような移動オブジェクトにも共通の操縦桿オブジェクトを組み合わせることが可能であるため、ユーザビリティに優れる。例えば、移動オブジェクトが動力オブジェクトを備えている場合、どの種類の動力オブジェクトであっても、共通の操縦桿オブジェクトを用いることができる。このように、どのような移動オブジェクトであっても、共通の操縦桿オブジェクトを用いて操作することができるため、移動オブジェクトの操作方法を共通にしてユーザビリティを向上させ、また、直観に沿う操作が可能である。例えば、移動オブジェクトの進行方向に対して、あるユーザ操作に対する移動オブジェクトの移動方向の変化の傾向は、移動オブジェクトを構成する仮想オブジェクトの種類や組み方に関わらず共通であってもよい。なお、移動オブジェクトが動力オブジェクトを備える場合、その動力オブジェクトの種類によらず、操縦桿オブジェクトに対する共通の操作によって動力オブジェクトをONできてもよい。また、操縦桿オブジェクトのみを第1の移動オブジェクトから離脱させて第2の移動オブジェクトに接着させることで、1つの操縦桿オブジェクトを用いて第1の移動オブジェクトと第2の移動オブジェクトを切り替えて操縦することができてもよい。
 なお、上記複数の移動オブジェクトに共通の操縦桿オブジェクトは、1種類だけあってもよい。また、1種類の操縦桿オブジェクトが1個だけあってもよい。また、操縦桿オブジェクトは種類としては1種類だけだが、複数個あってもよい。
 また、上記実施形態では、操縦桿オブジェクトを用いて移動オブジェクトに含まれる1又は複数の動力オブジェクトのON/OFFを制御したが、操縦桿オブジェクトを用いて動力オブジェクトのON/OFFを制御しなくてもよい。例えば、操縦桿オブジェクトを用いた操作に依らず、移動オブジェクトに含まれる動力オブジェクトは、常にON状態であってもよい。また、移動オブジェクトに含まれる動力オブジェクトは通常はOFF状態であり、操縦桿オブジェクトを用いた操作とは別の操作によって複数の動力オブジェクトを個別に又はまとめてON状態に制御されてもよい。このように、操縦桿オブジェクトによって動力オブジェクトのON/OFFが制御されない場合であっても、操縦桿オブジェクトによって移動オブジェクトの移動方向や移動速度が制御されてもよい。
 (変形例)
 以上、本実施形態について説明したが、上記実施形態は単なる一例であり、例えば以下のような変形が加えられてもよい。
 例えば、上記実施形態において、合体オブジェクトの移動の制御に用いられたユーザの操作は単なる一例であり、コントローラ3,4の任意のボタン、アナログスティックを用いて、合体オブジェクト(移動オブジェクト)の移動が制御されてもよい。例えば、コントローラ3,4の所定のボタンが押下されることにより、移動オブジェクトが所定の進行方向に移動開始し、別のボタンが押下されることにより、移動オブジェクトの移動方向が変化されてもよい。また、アナログスティックに対する操作によって、移動オブジェクトが所定の進行方向に移動開始し、同じ又は異なるアナログスティックに対する操作によって、移動オブジェクトの移動方向が変化されてもよい。また、コントローラ3,4の姿勢、本体装置2の姿勢に基づいて、移動オブジェクトの移動が制御されてもよい。
 また、上記実施形態では、ユーザキャラクタが合体オブジェクト上に乗り、合体オブジェクト上の操縦桿オブジェクトの位置にユーザキャラクタが移動した場合に、所定の操作に応じて、当該合体オブジェクトを制御可能に設定した(操作対象として設定した)。合体オブジェクトを操作対象として設定する方法はどのようなものでもよい。例えば、ユーザキャラクタが合体オブジェクトに乗っていることを条件とせず、操縦桿オブジェクトに対応する位置にユーザキャラクタが存在する場合に、所定の操作に応じて、当該合体オブジェクトを操作対象として設定してもよい。あるいは、ユーザキャラクタが合体オブジェクトの近くに存在している場合において、所定の操作に応じて、当該合体オブジェクトを操作対象として設定してもよい。また、位置に関する条件を満たせば、所定の操作を要せずに当該合体オブジェクトを操作対象として設定してもよい。あるいは、ユーザキャラクタと合体オブジェクトとの位置に関係なく、適宜の操作により、合体オブジェクトを操作対象として設定してもよい。
 また、上記実施形態では、移動オブジェクトに含まれる動力オブジェクトの位置や姿勢に基づいて移動オブジェクトの進行方向が定められ、操縦桿オブジェクト70eに対する操舵が行われない場合は、移動オブジェクトを当該進行方向に移動させた。操縦桿オブジェクト70eに対する操舵が行われる場合は、移動オブジェクトを重心軸回りに回転させることで、移動オブジェクトの移動方向を変化させた。他の実施形態では、別の方法により移動オブジェクトの移動方向が変化されてもよい。例えば、操縦桿オブジェクト70eに対する左右方向の操舵が行われた場合、移動オブジェクトに含まれる動力オブジェクトの向きを左右方向に変化させることで、移動オブジェクトの移動方向を左右方向に変化させてもよい。また、他の実施形態では、操縦桿オブジェクト70eに対する左右方向の操舵が行われた場合、移動オブジェクトに対して左右方向の並進速度を加えることで、移動オブジェクトの移動方向を左右方向に変化させてもよい。また、他の実施形態では、操縦桿オブジェクト70eに対する左右方向の操舵が行われた場合、移動オブジェクトに対して左右方向の加速度(力)を加えることで、移動オブジェクトの移動方向を左右方向に変化させてもよい。
 また、上記実施形態では、動力オブジェクトの動作状態は、ON状態又はOFF状態のどちらかであるとした。他の実施形態では、動力オブジェクトの出力値(パワー)が変化されてもよい。例えば、操縦桿オブジェクト70eが操作対象として設定された場合、移動オブジェクトに含まれる動力オブジェクトの出力値を上げることで、移動オブジェクトを進行方向に移動させてもよい。また、例えば、操縦桿オブジェクト70eに対する左右方向の操舵が行われた場合、移動オブジェクトに含まれる動力オブジェクトの出力値を変化させることで、移動オブジェクトの移動方向を左右方向に変化させてもよい。また、操縦桿オブジェクト70eを用いて、動力オブジェクトの出力値を変化させることによって、移動オブジェクトの移動を開始させたり、停止させたり、移動オブジェクトの移動速度を変化させたりしてもよい。
 また、上記実施形態では、動力オブジェクトは、動力として合体オブジェクトに対し所定の速度を与えるものとした。そして、各オブジェクトに対して与えられた速度に基づいて、各オブジェクトの挙動が計算された。他の実施形態では、動力オブジェクトは、合体オブジェクトに対して力(加速度)を与え、与えられた力(加速度)に基づいて各オブジェクトの挙動が計算されてもよい。
 また、上記実施形態における各仮想オブジェクト70は単なる一例であり、その他の仮想オブジェクトが用いられてもよい。例えば、仮想コントローラオブジェクトの一例として、上記実施形態では操縦桿オブジェクト70eが用いられたが、他の実施形態では、仮想コントローラオブジェクトとして、ハンドルを模したオブジェクトが用いられてもよい。また、仮想コントローラオブジェクトは、操縦席や操縦室のような場所を示すものであってもよい。
 また、上記実施形態では、操縦桿オブジェクト70eを操作対象として設定した場合にユーザキャラクタPCを操縦桿オブジェクト70eの位置に配置した。他の実施形態では、ユーザキャラクタPCの位置は、操縦桿オブジェクト70eの位置と必ずしも一致しなくてもよく、ユーザキャラクタPCは、操縦桿オブジェクト70eの位置に応じて定められる所定範囲に配置されてもよい。また、操縦桿オブジェクト70eを操作対象として設定する方法は、ボタンの押下に限らず、他の任意の方法であってもよい。例えば、ユーザが、操縦桿オブジェクト70eを所定の指示標識で指示することによって、操縦桿オブジェクト70eを操作対象として設定してもよい。
 また、ユーザによって、操縦桿オブジェクト70eを含み、動力オブジェクトを含まない移動オブジェクトが生成されてもよい。このような動力オブジェクトを含まない移動オブジェクトの移動方向が、操縦桿オブジェクトを用いて変化される。具体的には、そのような移動オブジェクトがユーザによって生成された場合において、当該移動オブジェクトに対して所定の方向への速度が与えられる。例えば、ユーザキャラクタが移動オブジェクトに対して所定の動作を行うことで速度が与えられてもよいし、移動オブジェクトを落下させたり、坂を滑らせたりすることで速度が与えられてもよい。また、移動オブジェクトに対して他のオブジェクトが衝突することで、当該移動オブジェクトに対して速度が与えられてもよい。このような付与される速度は、移動方向への動力として見なすことができる。このように、移動オブジェクトが所定方向に移動している前提で、ユーザの入力に基づいて、移動オブジェクトに含まれる操縦桿オブジェクトが操作対象として設定され、操縦桿オブジェクトが操作対象として設定されている場合、ユーザの入力に基づいて、移動オブジェクトの移動方向が変化されてもよい。
 また、操縦桿オブジェクト70eを含み、動力オブジェクトを含まない移動オブジェクトが斜面等を移動している状況において、ユーザキャラクタPCが操縦桿オブジェクト70eの位置に移動した時点における移動オブジェクトの進行方向に動力が発生されてもよい。この動力の方向(進行方向)は、移動オブジェクトを基準として設定される。この場合において、操縦桿オブジェクト70eが操舵されると、操舵方向に応じて、移動オブジェクトが重心位置を基準として回転され、進行方向も回転される。これにより、移動オブジェクトが旋回する。
 また、上記実施形態では、仮想空間に配置された複数の仮想オブジェクト70を組むことで合体オブジェクトを生成した。他の実施形態では、合体オブジェクトを生成する段階では、複数の仮想オブジェクト70の少なくとも一部は、仮想空間に配置されておらず、収容領域に収容されてもよい。例えば、動力オブジェクトは仮想空間に配置され、操縦桿オブジェクトは収容領域に収容されてもよい。また、操縦桿オブジェクトは仮想空間に配置され、動力オブジェクトは収容領域に収容されてもよい。これら仮想空間は配置された、又は、収容領域に収容された複数の仮想オブジェクトを組むことで、動力オブジェクトと操縦桿オブジェクトとを含む合体オブジェクトが生成され、当該生成された合体オブジェクトが仮想空間に配置されてもよい。
 また、他の実施形態では、操縦桿オブジェクトは、複数種類あってもよい。例えば、種類の異なる第1操縦桿オブジェクトと第2操縦桿オブジェクトとがあり、ユーザは、移動オブジェクトに対して、第1操縦桿オブジェクトを組み合わせることも、第2操縦桿オブジェクトを組み合わせることも可能であってもよい。この場合において、第1操縦桿オブジェクトを含む移動オブジェクトよりも第2操縦桿オブジェクトを移動オブジェクトの方が、移動速度や移動方向の変化速度が速くてもよい。また、操縦桿オブジェクトが複数種類用意され、動力の種類又は合体オブジェクト(移動オブジェクト)の構成(種類)に対して、当該移動オブジェクトの移動方向を制御可能な操縦桿オブジェクトの種類が対応していてもよい。
 また、上記実施形態では、動力を与える動力オブジェクトが合体オブジェクトに組み合わされる例を示したが、動力を与えない非動力オブジェクト(例えば発光するライトオブジェクト)が合体オブジェクトに組み合わされてもよい。そして、操縦桿オブジェクトを用いて、当該非動力オブジェクトのON/OFFを制御可能であってもよい。合体オブジェクトが複数の非動力オブジェクトを含んでいる場合、操縦桿オブジェクトを用いて、複数の非動力オブジェクトのON/OFFをまとめて制御可能であってもよいし、複数の非動力オブジェクトのON/OFFを個別に制御可能であってもよい。また、合体オブジェクトが、複数の非動力オブジェクトと複数の動力オブジェクトとを含んでいる場合、操縦桿オブジェクトを用いて、複数の非動力オブジェクト及び動力オブジェクトのON/OFFをまとめて制御可能であってもよいし、複数の非動力オブジェクト及び動力オブジェクトのON/OFFを個別に制御可能であってもよい。すなわち、合体オブジェクトに含まれるON/OFFを切り替え可能なオブジェクトについては、動力を与えるか否かにかかわらず、操縦桿オブジェクトを用いて、まとめて又は個別にON/OFFを制御することができてもよい。
 なお、動力オブジェクト及び非動力オブジェクトを含む合体オブジェクトにおいて、操縦桿オブジェクトを用いて、動力オブジェクトのみを制御可能であってもよい。合体オブジェクトが、複数の動力オブジェクトと複数の非動力オブジェクトとを含む場合、操縦桿オブジェクトを用いて、当該複数の動力オブジェクトの全てを同時にON状態又はOFF状態に制御することができてもよい。逆に、動力オブジェクト及び非動力オブジェクトを含む合体オブジェクトにおいて、非動力オブジェクトのみを制御可能であってもよい。また、動力オブジェクトのみを制御可能な操縦桿オブジェクトと、非動力オブジェクトのみを制御可能な操縦桿オブジェクトとが用意されてもよい。
 また、上記ゲームを行うハードウェアの構成は単なる一例であり、他の任意のハードウェアにおいて上記ゲーム処理が行われてもよい。例えば、パーソナルコンピュータ、タブレット端末、スマートフォン、インターネット上のサーバ等、任意の情報処理システムにおいて上記ゲーム処理が実行されてもよい。また、上記ゲーム処理は、複数の装置によって分散実行されてもよい。
 また上記実施形態及びその変形例に係る構成は、互いに矛盾しない限り、任意に組み合わせることが可能である。また、上記は本発明の例示に過ぎず、上記以外にも種々の改良や変形が加えられてもよい。
 1 ゲームシステム
 2 本体装置
 3 左コントローラ
 4 右コントローラ
 32、52 アナログスティック
 81 プロセッサ
 70 仮想オブジェクト
 75、77 飛行機オブジェクト
 76 4輪車オブジェクト

Claims (17)

  1.  ユーザの入力に基づくゲーム処理を行うプロセッサを備える情報処理システムであって、
     前記プロセッサは、
      ユーザの入力に基づいて、複数の仮想オブジェクトを組むことで合体オブジェクトを生成する合体オブジェクト生成手段と、
      仮想空間に配置された前記合体オブジェクトを制御する合体オブジェクト制御手段として機能し、
     前記複数の仮想オブジェクトは、前記合体オブジェクトの一部として組み入れられた場合に当該合体オブジェクトに動力を与える仮想動力オブジェクトと、前記合体オブジェクトの一部として組み入れられることが可能な仮想コントローラオブジェクトとを含み、
     前記合体オブジェクト制御手段は、前記合体オブジェクトに前記仮想動力オブジェクト及び前記仮想コントローラオブジェクトが含まれる場合、前記仮想動力オブジェクトを動作させて前記合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、前記合体オブジェクトの移動方向を変化させる、情報処理システム。
  2.  前記仮想動力オブジェクトの動作状態には、前記動力を与えるON状態と、前記動力を与えないOFF状態とがあり、
     前記プロセッサは、ユーザの入力に基づいて、1の前記仮想動力オブジェクトの動作状態を、前記ON状態又は前記OFF状態にする動作状態設定手段として機能し、
     前記合体オブジェクト生成手段は、前記仮想コントローラオブジェクトと、複数の前記仮想動力オブジェクトとを含む前記合体オブジェクトを生成し、
     前記合体オブジェクト制御手段は、前記合体オブジェクトに含まれる全ての前記仮想動力オブジェクトを同時に前記ON状態又はOFF状態にする、請求項1に記載の情報処理システム。
  3.  前記合体オブジェクト生成手段は、前記合体オブジェクトにおける、ユーザによって指定された位置に、前記仮想コントローラオブジェクトを配置する、請求項1又は2に記載の情報処理システム。
  4.  前記合体オブジェクトを構成する前記仮想オブジェクトには、他の部分よりも優先される優先部分が設けられ、
     前記合体オブジェクト生成手段は、前記仮想コントローラオブジェクトを、前記合体オブジェクトを構成する前記仮想オブジェクトにおける前記優先部分に優先的に配置する、請求項3に記載の情報処理システム。
  5.  前記プロセッサは、ユーザキャラクタを前記仮想空間内で移動させるユーザキャラクタ移動手段として機能し、
     前記ユーザキャラクタ移動手段は、ユーザの入力に基づいて、前記ユーザキャラクタを前記仮想コントローラオブジェクトに対応する位置に移動させ、
     前記合体オブジェクト制御手段は、前記ユーザキャラクタが前記仮想コントローラオブジェクトに対応する位置に存在する場合、ユーザの入力に応じて、前記合体オブジェクトを制御する、請求項1から4の何れかに記載の情報処理システム。
  6.  前記合体オブジェクト制御手段は、前記ユーザの入力に基づいて、前記ユーザキャラクタに前記仮想コントローラオブジェクトを操作させることにより、前記仮想コントローラオブジェクトの少なくとも一部の向きを変化させ、前記合体オブジェクトの移動方向を変化させる、請求項5に記載の情報処理システム。
  7.  前記合体オブジェクト制御手段は、前記合体オブジェクトにおける前記仮想コントローラオブジェクトの位置にかかわらず、ユーザの入力方向に応じた方向に前記合体オブジェクトの移動方向を変化させる、請求項3から6の何れかに記載の情報処理システム。
  8.  前記合体オブジェクト生成手段は、ユーザによって指定された向きで、前記仮想コントローラオブジェクトを前記合体オブジェクトに配置する、請求項1から7の何れかに記載の情報処理システム。
  9.  前記合体オブジェクト制御手段は、前記合体オブジェクトにおける前記仮想コントローラオブジェクトの向きにかかわらず、ユーザの入力方向に応じた方向に前記合体オブジェクトの移動方向を変化させる、請求項8に記載の情報処理システム。
  10.  前記合体オブジェクト制御手段は、前記合体オブジェクトに対して、前記合体オブジェクトの重心位置回りの回転速度を付与することにより、前記合体オブジェクトの移動方向を変化させる、請求項1から9の何れかに記載の情報処理システム。
  11.  前記合体オブジェクト制御手段は、前記合体オブジェクトを構成する各仮想オブジェクトに対して、前記合体オブジェクトの重心位置回りの回転速度を付与することにより、前記合体オブジェクトの移動方向を変化させる、請求項10に記載の情報処理システム。
  12.  前記合体オブジェクトは、前記仮想空間の地面に接触しながら移動するオブジェクトであり、
     前記合体オブジェクト制御手段は、前記合体オブジェクトの移動方向を変化させる場合、前記合体オブジェクトを前記所定の進行方向に移動させる場合よりも、前記合体オブジェクトと前記地面との摩擦を小さくする、請求項1から11の何れかに記載の情報処理システム。
  13.  前記プロセッサは、前記合体オブジェクトに含まれる前記仮想コントローラオブジェクトの前記仮想空間における姿勢が所定の姿勢となるように、前記合体オブジェクトのロール方向又はピッチ方向の姿勢を補正する姿勢補正手段、としてさらに機能する、請求項1から12の何れかに記載の情報処理システム。
  14.  前記合体オブジェクト生成手段は、複数の前記仮想オブジェクトを含む第1の合体オブジェクトと、複数の前記仮想オブジェクトを含む第2の合体オブジェクトとを生成可能であり、
     前記仮想コントローラオブジェクトは、前記第1の合体オブジェクトにも前記第2の合体オブジェクトにも組み入れられることが可能である、請求項1から13の何れかに記載の情報処理システム。
  15.  情報処理装置のプロセッサによって実行される情報処理プログラムであって、前記プロセッサを、
     ユーザの入力に基づいて、複数の仮想オブジェクトを組むことで合体オブジェクトを生成する合体オブジェクト生成手段と、
      仮想空間に配置された前記合体オブジェクトを制御する合体オブジェクト制御手段として機能させ、
     前記複数の仮想オブジェクトは、前記合体オブジェクトの一部として組み入れられた場合に当該合体オブジェクトに動力を与える仮想動力オブジェクトと、前記合体オブジェクトの一部として組み入れられることが可能な仮想コントローラオブジェクトとを含み、
     前記合体オブジェクト制御手段は、前記合体オブジェクトに前記仮想動力オブジェクト及び前記仮想コントローラオブジェクトが含まれる場合、前記仮想動力オブジェクトを動作させて前記合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、前記合体オブジェクトの移動方向を変化させる、情報処理プログラム。
  16.  情報処理システムにおいて実行される情報処理方法であって、
     ユーザの入力に基づいて、複数の仮想オブジェクトを組むことで合体オブジェクトを生成する合体オブジェクト生成ステップと、
     仮想空間に配置された前記合体オブジェクトを制御する合体オブジェクト制御ステップとを含み、
     前記複数の仮想オブジェクトは、前記合体オブジェクトの一部として組み入れられた場合に当該合体オブジェクトに動力を与える仮想動力オブジェクトと、前記合体オブジェクトの一部として組み入れられることが可能な仮想コントローラオブジェクトとを含み、
     前記合体オブジェクト制御ステップでは、前記合体オブジェクトに前記仮想動力オブジェクト及び前記仮想コントローラオブジェクトが含まれる場合、前記仮想動力オブジェクトを動作させて前記合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、前記合体オブジェクトの移動方向を変化させる、情報処理方法。
  17.  ユーザの入力に基づいて、複数の仮想オブジェクトを組むことで合体オブジェクトを生成する合体オブジェクト生成手段と、
     仮想空間に配置された前記合体オブジェクトを制御する合体オブジェクト制御手段とを備え、
     前記複数の仮想オブジェクトは、前記合体オブジェクトの一部として組み入れられた場合に当該合体オブジェクトに動力を与える仮想動力オブジェクトと、前記合体オブジェクトの一部として組み入れられることが可能な仮想コントローラオブジェクトとを含み、
     前記合体オブジェクト制御手段は、前記合体オブジェクトに前記仮想動力オブジェクト及び前記仮想コントローラオブジェクトが含まれる場合、前記仮想動力オブジェクトを動作させて前記合体オブジェクトを所定の進行方向に移動させ、ユーザの入力に基づいて、前記合体オブジェクトの移動方向を変化させる、情報処理装置。
     
PCT/JP2022/009228 2022-03-03 2022-03-03 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置 WO2023157322A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2023523125A JPWO2023157322A1 (ja) 2022-03-03 2022-03-03
PCT/JP2022/009228 WO2023157322A1 (ja) 2022-03-03 2022-03-03 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
CN202280035224.9A CN117337206A (zh) 2022-03-03 2022-03-03 信息处理系统、信息处理程序、信息处理方法以及信息处理装置
US18/303,695 US20230277936A1 (en) 2022-03-03 2023-04-20 Information processing system, non-transitory computer-readable storage medium having stored therein information processing program, information processing method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/009228 WO2023157322A1 (ja) 2022-03-03 2022-03-03 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/303,695 Continuation US20230277936A1 (en) 2022-03-03 2023-04-20 Information processing system, non-transitory computer-readable storage medium having stored therein information processing program, information processing method, and information processing apparatus

Publications (1)

Publication Number Publication Date
WO2023157322A1 true WO2023157322A1 (ja) 2023-08-24

Family

ID=87577826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/009228 WO2023157322A1 (ja) 2022-03-03 2022-03-03 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置

Country Status (4)

Country Link
US (1) US20230277936A1 (ja)
JP (1) JPWO2023157322A1 (ja)
CN (1) CN117337206A (ja)
WO (1) WO2023157322A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005000338A (ja) * 2003-06-11 2005-01-06 Toyota Motor Corp 自動車ゲーム提供方法および自動車ゲーム提供システム
JP2005038303A (ja) * 2003-07-18 2005-02-10 Sony Corp 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム
JP2007500906A (ja) * 2003-05-20 2007-01-18 レゴ エー/エス 3次元オブジェクトのデジタル表現を操作するための方法およびシステム
JP2016010452A (ja) * 2014-06-27 2016-01-21 グリー株式会社 ゲームプログラム、コンピュータの制御方法、およびコンピュータ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500906A (ja) * 2003-05-20 2007-01-18 レゴ エー/エス 3次元オブジェクトのデジタル表現を操作するための方法およびシステム
JP2005000338A (ja) * 2003-06-11 2005-01-06 Toyota Motor Corp 自動車ゲーム提供方法および自動車ゲーム提供システム
JP2005038303A (ja) * 2003-07-18 2005-02-10 Sony Corp 3次元モデル処理装置、および3次元モデル処理方法、並びにコンピュータ・プログラム
JP2016010452A (ja) * 2014-06-27 2016-01-21 グリー株式会社 ゲームプログラム、コンピュータの制御方法、およびコンピュータ

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Ftabasha Surper Mook Online Game: Having a great strategy", vol. 22, 10 May 2008, ‎ FUTABASHA , JP, ISBN: 4575479918, article SHISSO ET AL.: "Dashing, Yankee Spirit", pages: 154 - 157, XP009549055 *
"Ryu ga Gotoku 0. The Place of Oath Complete Guide Guidebook", 27 April 2015, GAME MASTER KK, JP, ISBN: 978-4-04-733001-6, article KADOKAWA DWANGO KK ET AL.: "Passage; Ryu Ga Gotoku 0: Chikai No Basyo. Kanzen Kouryaku Kiwami no Sho", pages: 373 - 381, XP009549054 *
SHIMIZU, YOKO ET AL.: "Usefulness of quantitative finger tapping evaluation before and after tap test in idiopathic normal pressure hydrocephalus patients", PROGRAM AND PROCEEDINGS OF THE 20TH ANNUAL MEETING OF THE JAPANESE SOCIETY OF NPH; FEBRUARY 23-24, 2019, JAPANESE SOCIETY OF NPH, JP, vol. 20, 23 February 2019 (2019-02-23) - 24 February 2019 (2019-02-24), JP, pages 59, XP009548405 *

Also Published As

Publication number Publication date
US20230277936A1 (en) 2023-09-07
CN117337206A (zh) 2024-01-02
JPWO2023157322A1 (ja) 2023-08-24

Similar Documents

Publication Publication Date Title
US8226484B2 (en) Simulated handlebar twist-grip control of a simulated vehicle using a hand-held inertial sensing remote controller
US6597342B1 (en) Game machine controller
US9533223B2 (en) Game object control using pointing inputs to rotate a displayed virtual object control device
JP5432277B2 (ja) 無人機を操縦する装置
US8473125B2 (en) Method of piloting a multiple rotor rotary-wing drone to follow a curvilinear turn
US20080125224A1 (en) Method and apparatus for controlling simulated in flight realistic and non realistic object effects by sensing rotation of a hand-held controller
JP5916520B2 (ja) 倒立振子型車両
KR20150046302A (ko) 하나 이상의 모바일 컴퓨팅 디바이스들을 갖는 로봇 시스템의 통합
US10697996B2 (en) Accelerometer sensing and object control
WO2015198634A1 (ja) ゲームシステム
JP3797608B2 (ja) ゲーム装置およびゲームプログラム
WO2023157322A1 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
WO2023157320A1 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
WO2016195503A1 (en) Handheld controller with haptic feedback unit
JP6769158B2 (ja) ゲームプログラムおよびゲーム装置
JPWO2008132851A1 (ja) エンターテインメント装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
JP4136644B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP6966246B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
WO2009139147A1 (ja) ゲーム装置
JP2017099608A (ja) 制御システム及びプログラム
JP6370346B2 (ja) 回転翼型飛行体及びその遠隔制御システム
CN110947175A (zh) 一种高仿真亲临式三屏体感赛车
WO2023157321A1 (ja) 情報処理システム、情報処理プログラム、情報処理方法、および情報処理装置
JP3797607B2 (ja) ゲーム装置およびゲームプログラム
JP2003340144A (ja) ゲーム装置、ゲーム制御方法、ゲームプログラム、および記録媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023523125

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22927220

Country of ref document: EP

Kind code of ref document: A1