WO2022137375A1 - 方法、コンピュータ可読媒体、および情報処理装置 - Google Patents

方法、コンピュータ可読媒体、および情報処理装置 Download PDF

Info

Publication number
WO2022137375A1
WO2022137375A1 PCT/JP2020/048105 JP2020048105W WO2022137375A1 WO 2022137375 A1 WO2022137375 A1 WO 2022137375A1 JP 2020048105 W JP2020048105 W JP 2020048105W WO 2022137375 A1 WO2022137375 A1 WO 2022137375A1
Authority
WO
WIPO (PCT)
Prior art keywords
game
real
user
item
user terminal
Prior art date
Application number
PCT/JP2020/048105
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 PCT/JP2020/048105 priority Critical patent/WO2022137375A1/ja
Priority to JP2022570844A priority patent/JPWO2022137375A1/ja
Publication of WO2022137375A1 publication Critical patent/WO2022137375A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]

Definitions

  • This disclosure relates to methods, computer-readable media, and information processing devices.
  • Patent Document 1 describes an information processing system that distributes a live video to a viewing terminal.
  • the present invention has been conceived in view of such circumstances, and an object of the present invention is to provide a distribution program, a distribution method, a computer, and a viewing terminal capable of further enhancing a viewer's preference for content. Is.
  • One aspect of the present disclosure is a method executed by a viewing terminal capable of displaying a game play video of a game that is cleared by satisfying a predetermined condition.
  • the computer that distributes the data for enabling the display of the game play video on the viewing terminal specifies the number of views of the viewing terminal displaying the game play video in the real-time distribution of the game play video, and views the video.
  • the operation information transmitted from the viewing terminal based on the predetermined operation by the person, it exerts a support action to support the establishment of the predetermined condition, and when the viewing number is the first number, the first number.
  • the support action is changed so as to be smaller than when the second number is smaller than.
  • an avatar associated with a user of the computer in which a viewing terminal that does not display the game play video of the real-time distribution in real time, appears in the game in the real-time distribution from an external device after the real-time distribution. It includes a step of receiving recorded data regarding the movement of the object and a step of generating and playing a distributed gameplay video using the recorded data regarding the movement of the avatar object.
  • Another aspect of the present disclosure is a method executed by a viewing terminal capable of displaying a game play video of a game that is cleared by satisfying a predetermined condition.
  • the computer that distributes the data for enabling the display of the game play video on the viewing terminal specifies the number of views of the viewing terminal displaying the game play video in the real-time distribution of the game play video, and views the video.
  • the operation information transmitted from the viewing terminal based on the predetermined operation by the person, it exerts a support action to support the establishment of the predetermined condition, and when the viewing number is the first number, the first number.
  • the support action is changed so as to be smaller than when the second number is smaller than.
  • the viewing terminal displaying the game play video of the real-time distribution in real time is an avatar object associated with the user of the computer, which appears in the game in the real-time distribution from an external device after the real-time distribution.
  • a game play image using the step of receiving the recorded data regarding the operation, the recorded data regarding the operation of the avatar object, and the recorded data regarding the behavior of the viewer of the viewing terminal in the real-time distribution. Includes steps to generate and play.
  • Another aspect of the present disclosure is a computer-readable medium that stores a computer-executable instruction, which, when executed, causes the viewing terminal to perform the above method. ..
  • Another aspect of the present disclosure is an information processing apparatus, comprising a storage unit for storing a program including the steps of the above method, and a control unit for controlling the operation of the information processing apparatus by executing the program. , An information processing device.
  • FIG. 1 It is a figure which shows the outline of the structure of the HMD system according to a certain embodiment. It is a block diagram which shows an example of the hardware composition of the computer according to a certain embodiment. It is a figure which conceptually represents the uvw field coordinate system set in the HMD according to a certain embodiment. It is a figure which conceptually represents one aspect which expresses a virtual space according to a certain embodiment. It is a figure which showed the head of the user who wears an HMD according to a certain embodiment from the top. It is a figure which shows the YZ cross section which looked at the view area from the X direction in a virtual space. It is a figure which shows the XZ cross section which looked at the view area from the Y direction in a virtual space.
  • FIG. 1 It is a figure which shows an example of the virtual space defined in the HMD set according to a certain embodiment, and the object arranged in the virtual space.
  • (A) is a diagram showing a schematic configuration of a controller according to an embodiment
  • (B) is an example of yaw, roll, and pitch directions defined for the right hand of a user according to an embodiment.
  • FIG. 3 is a block diagram showing a detailed configuration of a computer module according to an embodiment.
  • FIG. 6 is a block diagram showing a functional configuration of a user terminal, a server, and an HMD set included in an HMD system according to an embodiment. It is a figure which shows the detailed structure of the virtual space control part included in the user terminal which follows a certain embodiment. It is a figure which shows the detailed structure of the virtual space control part included in the HMD set according to a certain embodiment.
  • (A) is a diagram showing another example of the view image displayed on the user terminal
  • (B) is a diagram showing another example of the view image displayed on the user terminal
  • (C) is a diagram showing another example.
  • Is a diagram showing still another example of the field image displayed on the user terminal
  • (D) is a diagram showing another example of the field image displayed on the user terminal.
  • It is a timing chart which shows a part of the operation of a user terminal and a computer corresponding to an item input operation.
  • It is a flowchart which shows a part of the flow of processing executed in an HMD system.
  • FIG. 1 is a diagram showing an outline of the configuration of the HMD system 100 according to the present embodiment.
  • the HMD system 100 is provided as a home system or a business system.
  • the HMD system 100 includes a server 600, an HMD set 110, an external device 700, a network 2, and a plurality of user terminals 800.
  • the HMD set 110 is configured to be able to communicate with the server 600, the external device 700, and the user terminal 800 via the network 2.
  • the HMD set 110 includes an HMD 120, a computer 200, an HMD sensor 410, a display 430, and a controller 300.
  • the HMD 120 includes a monitor 130, a gaze sensor 140, a first camera 150, a second camera 160, a microphone 170, and a speaker 180.
  • the controller 300 may include a motion sensor 420.
  • the computer 200 can be connected to the Internet or other network 2, and can communicate with the server 600 or other computer connected to the network 2.
  • Examples of other computers include a user terminal 800, an external device 700, a computer of another HMD set 110, and the like.
  • the HMD 120 may include a sensor 190 instead of the HMD sensor 410.
  • the HMD 120 is attached to the head of the player 5 and can provide a virtual space to the player 5 during operation. More specifically, the HMD 120 displays an image for the right eye and an image for the left eye on the monitor 130, respectively. When each eye of the player 5 visually recognizes the respective image, the player 5 can recognize the image as a three-dimensional image based on the parallax of both eyes.
  • the HMD 120 may include either a so-called head-mounted display provided with a monitor and a head-mounted device to which a terminal having a monitor such as a smartphone can be attached.
  • the HMD 120 provides, for example, a virtual space for allowing the player 5 to play a game that is cleared by satisfying a predetermined achievement condition.
  • the player 5 also refers to a distributor because it distributes data for making the game play screen displayable on the user terminal 800.
  • the genre of the game is not limited to a specific genre, and the HMD system 100 can execute games of any genre.
  • sports-themed games such as tennis, table tennis, dodgeball, baseball, soccer and hockey, puzzle games, quiz games, RPG (Role-PlayingGame), adventure games, shooting games, simulation games, training games, and It may be an action game or the like.
  • the HMD system 100 may provide a virtual space for playing a game of any play form. For example, a single-play game with a single player 5, a multi-play game with a plurality of players 5, a battle game in which a plurality of players 5 play against each other, and a cooperative play in which a plurality of players 5 cooperate among the multi-play games. It may be a game or the like.
  • the monitor 130 is realized as, for example, a non-transparent display device.
  • the monitor 130 is arranged in the main body of the HMD 120 so as to be located in front of both eyes of the player 5. Therefore, the player 5 can immerse himself in the virtual space when he / she visually recognizes the three-dimensional image displayed on the monitor 130.
  • an avatar object that can be operated by the player 5 or another object is arranged in the virtual space.
  • the monitor 130 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor included in a so-called smartphone or other information display terminal.
  • the monitor 130 can be realized as a transmissive display device.
  • the HMD 120 may be an open type such as a glasses type, not a closed type that covers the eyes of the player 5 as shown in FIG.
  • the transmissive monitor 130 may be temporarily configured as a non-transparent display device by adjusting its transmittance.
  • the monitor 130 may include a configuration that simultaneously displays a part of the image constituting the virtual space and the real space.
  • the monitor 130 may display an image of the real space taken by the camera mounted on the HMD 120, or may make the real space visible by setting a part of the transmittance to be high.
  • the monitor 130 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye.
  • the monitor 130 may be configured to display the image for the right eye and the image for the left eye as a unit.
  • the monitor 130 includes a high speed shutter. The high-speed shutter operates so that the image for the right eye and the image for the left eye can be alternately displayed so that the image is recognized by only one of the eyes.
  • the HMD 120 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED (Light Emitting Diode) that emits infrared rays.
  • the HMD sensor 410 has a position tracking function for detecting the movement of the HMD 120. More specifically, the HMD sensor 410 reads a plurality of infrared rays emitted by the HMD 120 and detects the position and inclination of the HMD 120 in the real space.
  • the HMD sensor 410 may be realized by a camera.
  • the HMD sensor 410 can detect the position and tilt of the HMD 120 by executing the image analysis process using the image information of the HMD 120 output from the camera.
  • the HMD 120 may include a sensor 190 as a position detector in place of the HMD sensor 410 or in addition to the HMD sensor 410.
  • the HMD 120 can detect the position and tilt of the HMD 120 itself using the sensor 190.
  • the sensor 190 is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor
  • the HMD 120 may use any of these sensors instead of the HMD sensor 410 to detect its position and tilt.
  • the angular velocity sensor detects the angular velocity around the three axes of the HMD 120 in real space over time.
  • the HMD 120 calculates the temporal change of the angle around the three axes of the HMD 120 based on each angular velocity, and further calculates the inclination of the HMD 120 based on the temporal change of the angle.
  • the gaze sensor 140 detects the direction in which the line of sight of the right eye and the left eye of the player 5 is directed. That is, the gaze sensor 140 detects the line of sight of the player 5. Detection of the direction of the line of sight is realized, for example, by a known eye tracking function.
  • the gaze sensor 140 is realized by a sensor having the eye tracking function.
  • the gaze sensor 140 preferably includes a sensor for the right eye and a sensor for the left eye.
  • the gaze sensor 140 may be, for example, a sensor that detects the angle of rotation of each eyeball by irradiating the right eye and the left eye of the player 5 with infrared rays and receiving the reflected light from the cornea and the iris with respect to the irradiation light.
  • the gaze sensor 140 can detect the line of sight of the player 5 based on each detected rotation angle.
  • the first camera 150 photographs the lower part of the face of the player 5. More specifically, the first camera 150 captures the nose, mouth, and the like of the player 5. The second camera 160 captures the eyes, eyebrows, and the like of the player 5.
  • the housing on the player 5 side of the HMD 120 is defined as the inside of the HMD 120, and the housing on the opposite side of the player 5 of the HMD 120 is defined as the outside of the HMD 120.
  • the first camera 150 may be located outside the HMD 120 and the second camera 160 may be located inside the HMD 120.
  • the images generated by the first camera 150 and the second camera 160 are input to the computer 200.
  • the first camera 150 and the second camera 160 may be realized as one camera, and the face of the player 5 may be photographed by this one camera.
  • the microphone 170 converts the utterance of the player 5 into an audio signal (electrical signal) and outputs it to the computer 200.
  • the speaker 180 converts the voice signal into voice and outputs it to the player 5.
  • the HMD 120 may include earphones instead of the speaker 180.
  • the controller 300 is connected to the computer 200 by wire or wirelessly.
  • the controller 300 receives an input of a command from the player 5 to the computer 200.
  • the controller 300 is configured to be grippable by the player 5.
  • the controller 300 is configured to be wearable on a body or part of clothing of the player 5.
  • the controller 300 may be configured to output at least one of vibration, sound, and light based on the signal transmitted from the computer 200.
  • the controller 300 receives from the player 5 an operation for controlling the position and movement of an object arranged in the virtual space.
  • the controller 300 includes a plurality of light sources. Each light source is realized, for example, by an LED that emits infrared rays.
  • the HMD sensor 410 has a position tracking function. In this case, the HMD sensor 410 reads a plurality of infrared rays emitted by the controller 300, and detects the position and inclination of the controller 300 in the real space, that is, the movement of the player's body.
  • the HMD sensor 410 may be implemented by a camera. In this case, the HMD sensor 410 can detect the position and tilt of the controller 300 by executing the image analysis process using the image information of the controller 300 output from the camera.
  • the motion sensor 420 is attached to the player 5's hand at a certain stage and detects the movement of the player 5's hand. For example, the motion sensor 420 detects the rotation speed, the number of rotations, and the like of the hand. The detected signal is sent to the computer 200.
  • the motion sensor 420 is provided in the controller 300, for example.
  • the motion sensor 420 is provided in, for example, a controller 300 configured to be grippable by the player 5.
  • the controller 300 is attached to something that does not easily fly by being attached to the hand of the player 5, such as a glove type.
  • a sensor not attached to the player 5 may detect the movement of the player 5's hand.
  • the signal of the camera that shoots the player 5 may be input to the computer 200 as a signal indicating the operation of the player 5.
  • the motion sensor 420 and the computer 200 are wirelessly connected to each other.
  • the communication mode is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication method is used.
  • the display 430 displays an image similar to the image displayed on the monitor 130. As a result, a person involved in data distribution other than the player 5 wearing the HMD 120 (also referred to as a distributor as well as the player 5) can view the same image as the player 5.
  • the image displayed on the display 430 does not have to be a three-dimensional image, and may be an image for the right eye or an image for the left eye. Examples of the display 430 include a liquid crystal display and an organic EL monitor.
  • the server 600 may send a program to the computer 200.
  • the server 600 distributes the data provided by the computer 200 to enable the display of the virtual space to a plurality of user terminals (for example, user terminals 800A, 800C, 800D) that can be connected to the server 600. obtain.
  • the computer 200 may distribute the data without going through the server 600.
  • the server 600 may communicate with another computer 200 for providing virtual reality to the HMD 120 used by another player. For example, when a plurality of players play a participatory game in an amusement facility, each computer 200 communicates a signal based on the operation of each player with another computer 200 via a server 600, and a plurality of players are used in the same virtual space. Allows players to enjoy a common game. Each computer 200 may communicate a signal based on the operation of each player with another computer 200 without going through the server 600.
  • the external device 700 may be any device as long as it can communicate with the computer 200.
  • the external device 700 may be, for example, a device capable of communicating with the computer 200 via the network 2, or a device capable of directly communicating with the computer 200 by short-range wireless communication or a wired connection.
  • Examples of the external device 700 include, but are not limited to, smart devices, PCs (Personal Computers), peripheral devices of the computer 200, and the like.
  • FIG. 2 is a block diagram showing an example of the hardware configuration of the computer 200 according to the present embodiment.
  • the computer 200 includes a processor 210, a memory 220, a storage 230, an input / output interface (hereinafter, IF) 240, and a communication IF 250 as main components. Each component is connected to bus 260, respectively.
  • IF input / output interface
  • the processor 210 executes a series of instructions included in the program stored in the memory 220 or the storage 230 based on the signal given to the computer 200 or when a predetermined condition is satisfied.
  • the processor 210 is realized as a CPU (Central Processing Unit), GPU (Graphics Processing Unit), MPU (Micro Processor Unit), FPGA (Field-Programmable Gate Array) and other devices.
  • Memory 220 temporarily stores programs and data.
  • the program is loaded from storage 230, for example.
  • the data includes data input to the computer 200 and data generated by the processor 210.
  • the memory 220 is realized as a RAM (Random Access Memory) or other volatile memory.
  • Storage 230 permanently retains programs and data.
  • the storage 230 is realized as, for example, a ROM (Read-Only Memory), a hard disk device, a flash memory, or other non-volatile storage device.
  • the program stored in the storage 230 includes a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with another computer 200.
  • the data stored in the storage 230 includes data, objects, and the like for defining the virtual space.
  • the storage 230 may be realized as a detachable storage device such as a memory card.
  • a configuration using programs and data stored in an external storage device may be used instead of the storage 230 built into the computer 200. With such a configuration, it becomes possible to collectively update programs and data in a situation where a plurality of HMD systems 100 are used, for example, in an amusement facility.
  • the input / output IF 240 communicates signals with the HMD 120, the HMD sensor 410, the motion sensor 420, and the display 430.
  • the monitor 130, the gaze sensor 140, the first camera 150, the second camera 160, the microphone 170, and the speaker 180 included in the HMD 120 may communicate with the computer 200 via the input / output IF 240 of the HMD 120.
  • the input / output IF240 is realized by using USB (Universal Serial Bus), DVI (Digital Visual Interface), HDMI (registered trademark) (High-Definition Multimedia Interface) and other terminals.
  • the input / output IF 240 is not limited to the above.
  • the input / output IF 240 may further communicate with the controller 300.
  • the input / output IF 240 receives inputs of signals output from the controller 300 and the motion sensor 420.
  • the input / output IF 240 sends an instruction output from the processor 210 to the controller 300.
  • the command instructs the controller 300 to vibrate, output voice, emit light, and the like.
  • the controller 300 executes either vibration, voice output, or light emission in response to the command.
  • the communication IF 250 is connected to the network 2 and communicates with another computer (for example, the server 600) connected to the network 2.
  • the communication IF 250 is realized as, for example, a LAN (Local Area Network) or other wired communication IF, or a WiFi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication) or other wireless communication IF.
  • LAN Local Area Network
  • WiFi Wireless Fidelity
  • Bluetooth registered trademark
  • NFC Near Field Communication
  • the processor 210 accesses the storage 230, loads one or more programs stored in the storage 230 into the memory 220, and executes a series of instructions included in the program.
  • the one or more programs may include an operating system of the computer 200, an application program for providing the virtual space, game software that can be executed in the virtual space, and the like.
  • the processor 210 sends a signal for providing virtual space to the HMD 120 via the input / output IF 240.
  • the HMD 120 displays an image on the monitor 130 based on the signal.
  • the computer 200 is configured to be provided outside the HMD 120, but in another aspect, the computer 200 may be built in the HMD 120.
  • a portable information communication terminal for example, a smartphone
  • a monitor 130 may function as a computer 200.
  • the computer 200 may have a configuration commonly used for a plurality of HMD 120s. According to such a configuration, for example, the same virtual space can be provided to a plurality of players, so that each player can enjoy the same application as other players in the same virtual space.
  • a real coordinate system which is a coordinate system in the real space
  • the real coordinate system has three reference directions (axises) that are parallel to the vertical direction in the real space, the horizontal direction orthogonal to the vertical direction, and the front-back direction orthogonal to both the vertical direction and the horizontal direction.
  • the horizontal direction, the vertical direction (vertical direction), and the front-back direction in the real coordinate system are defined as the x-axis, the y-axis, and the z-axis, respectively. More specifically, in the real coordinate system, the x-axis is parallel to the horizontal direction of the real space.
  • the y-axis is parallel to the vertical direction in real space.
  • the z-axis is parallel to the front-back direction of the real space.
  • the HMD sensor 410 includes an infrared sensor.
  • the infrared sensor detects the infrared rays emitted from each light source of the HMD 120, the presence of the HMD 120 is detected.
  • the HMD sensor 410 further detects the position and inclination (orientation) of the HMD 120 in the real space according to the movement of the player 5 wearing the HMD 120 based on the value of each point (each coordinate value in the real coordinate system). do. More specifically, the HMD sensor 410 can detect a temporal change in the position and inclination of the HMD 120 by using each value detected over time.
  • Each inclination of the HMD 120 detected by the HMD sensor 410 corresponds to each inclination of the HMD 120 around three axes in the real coordinate system.
  • the HMD sensor 410 sets the uvw field coordinate system to the HMD 120 based on the tilt of the HMD 120 in the real coordinate system.
  • the uvw field-of-view coordinate system set in the HMD 120 corresponds to the viewpoint coordinate system when the player 5 wearing the HMD 120 sees an object in the virtual space.
  • FIG. 3 is a diagram conceptually representing the uvw field coordinate system set in the HMD 120 according to an embodiment.
  • the HMD sensor 410 detects the position and tilt of the HMD 120 in the real coordinate system when the HMD 120 is activated.
  • Processor 210 sets the uvw field coordinate system to HMD 120 based on the detected values.
  • the HMD 120 sets a three-dimensional uvw visual field coordinate system centered (origin) on the head of the player 5 equipped with the HMD 120. More specifically, the HMD 120 has the horizontal, vertical, and anteroposterior directions (x-axis, y-axis, z-axis) that define the real coordinate system, respectively, by the inclination around each axis of the HMD 120 in the real coordinate system.
  • the three directions newly obtained by tilting each around the axis are set as the pitch axis (u axis), the yaw axis (v axis), and the roll axis (w axis) of the uvw field coordinate system in the HMD 120.
  • the processor 210 sets the uvw field coordinate system parallel to the real coordinate system to the HMD 120.
  • the horizontal direction (x axis), the vertical direction (y axis), and the anteroposterior direction (z axis) in the real coordinate system are the pitch axis (u axis) and the yaw axis (v axis) of the uvw field coordinate system in the HMD 120.
  • the roll axis (w axis) are the roll axis (w axis).
  • the HMD sensor 410 can detect the inclination of the HMD 120 in the set uvw field coordinate system based on the movement of the HMD 120. In this case, the HMD sensor 410 detects the pitch angle ( ⁇ u), yaw angle ( ⁇ v), and roll angle ( ⁇ w) of the HMD 120 in the uvw visual field coordinate system as the inclination of the HMD 120, respectively.
  • the pitch angle ( ⁇ u) represents the tilt angle of the HMD 120 around the pitch axis in the uvw visual field coordinate system.
  • the yaw angle ( ⁇ v) represents the tilt angle of the HMD 120 around the yaw axis in the uvw visual field coordinate system.
  • the roll angle ( ⁇ w) represents the tilt angle of the HMD 120 around the roll axis in the uvw visual field coordinate system.
  • the HMD sensor 410 sets the uvw field coordinate system in the HMD 120 after the HMD 120 has moved, to the HMD 120, based on the detected inclination of the HMD 120.
  • the relationship between the HMD 120 and the uvw field coordinate system of the HMD 120 is always constant regardless of the position and tilt of the HMD 120.
  • the position and inclination of the HMD 120 change, the position and inclination of the uvw visual field coordinate system of the HMD 120 in the real coordinate system change in conjunction with the change of the position and inclination.
  • the HMD sensor 410 is based on the infrared light intensity obtained based on the output from the infrared sensor and the relative positional relationship between the points (eg, the distance between the points), the HMD 120.
  • the position of the light in the real space may be specified as a relative position with respect to the HMD sensor 410.
  • the processor 210 may determine the origin of the uvw visual field coordinate system of the HMD 120 in real space (real coordinate system) based on the identified relative position.
  • FIG. 4 is a diagram conceptually representing one aspect of expressing the virtual space 11 according to a certain embodiment.
  • the virtual space 11 has an all-sky spherical structure that covers the entire center 12 in the 360-degree direction.
  • the celestial sphere in the upper half of the virtual space 11 is illustrated so as not to complicate the explanation.
  • Each mesh is defined in the virtual space 11.
  • the position of each mesh is predetermined as a coordinate value in the XYZ coordinate system, which is a global coordinate system defined in the virtual space 11.
  • the computer 200 associates each partial image constituting the panoramic image 13 (still image, moving image, etc.) expandable in the virtual space 11 with each corresponding mesh in the virtual space 11.
  • the virtual space 11 defines an XYZ coordinate system with the center 12 as the origin.
  • the XYZ coordinate system is, for example, parallel to the real coordinate system.
  • the horizontal direction, the vertical direction (vertical direction), and the front-back direction in the XYZ coordinate system are defined as the X-axis, the Y-axis, and the Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the real coordinate system, and the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the real coordinate system.
  • the Z-axis (front-back direction) is parallel to the z-axis of the real coordinate system.
  • the virtual camera 14 is arranged at the center 12 of the virtual space 11 at the time of starting the HMD 120, that is, in the initial state of the HMD 120.
  • the processor 210 displays an image captured by the virtual camera 14 on the monitor 130 of the HMD 120.
  • the virtual camera 14 moves in the virtual space 11 in the same manner as the movement of the HMD 120 in the real space. Thereby, changes in the position and inclination of the HMD 120 in the real space can be similarly reproduced in the virtual space 11.
  • the virtual camera 14 is defined with the uvw field-of-view coordinate system as in the case of the HMD 120.
  • the uvw field-of-view coordinate system of the virtual camera 14 in the virtual space 11 is defined to be linked to the uvw field-of-view coordinate system of the HMD 120 in the real space (real coordinate system). Therefore, when the tilt of the HMD 120 changes, the tilt of the virtual camera 14 also changes accordingly.
  • the virtual camera 14 can also move in the virtual space 11 in conjunction with the movement of the player 5 equipped with the HMD 120 in the real space.
  • the processor 210 of the computer 200 defines the field of view region 15 in the virtual space 11 based on the position and inclination (reference line of sight 16) of the virtual camera 14.
  • the visual field area 15 corresponds to an area of the virtual space 11 that is visually recognized by the player 5 wearing the HMD 120. That is, the position of the virtual camera 14 can be said to be the viewpoint of the player 5 in the virtual space 11.
  • the line of sight of the player 5 detected by the gaze sensor 140 is the direction in the viewpoint coordinate system when the player 5 visually recognizes the object.
  • the uvw field-of-view coordinate system of the HMD 120 is equal to the viewpoint coordinate system when the player 5 visually recognizes the monitor 130.
  • the uvw field-of-view coordinate system of the virtual camera 14 is linked to the uvw field-of-view coordinate system of the HMD 120. Therefore, the HMD system 100 according to a certain aspect can regard the line of sight of the player 5 detected by the gaze sensor 140 as the line of sight of the player 5 in the uvw field-of-view coordinate system of the virtual camera 14.
  • FIG. 5 is a top view of the head of the player 5 wearing the HMD 120 according to a certain embodiment.
  • the gaze sensor 140 detects each line of sight of the right eye and the left eye of the player 5. In a certain aspect, when the player 5 is looking near, the gaze sensor 140 detects the lines of sight R1 and L1. In another aspect, when the player 5 is looking far away, the gaze sensor 140 detects the lines of sight R2 and L2. In this case, the angle formed by the lines of sight R2 and L2 with respect to the roll axis w is smaller than the angle formed by the lines of sight R1 and L1 with respect to the roll axis w. The gaze sensor 140 transmits the detection result to the computer 200.
  • the computer 200 When the computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the detection result of the line of sight, the computer 200 identifies the gaze point N1 which is the intersection of the lines of sight R1 and L1 based on the detected values. On the other hand, when the computer 200 receives the detected values of the lines of sight R2 and L2 from the gaze sensor 140, the computer 200 identifies the intersection of the lines of sight R2 and L2 as the gaze point. The computer 200 specifies the line of sight N0 of the player 5 based on the position of the specified gazing point N1.
  • the computer 200 detects, for example, the extending direction of the straight line passing through the midpoint of the straight line connecting the right eye R and the left eye L of the player 5 and the gazing point N1 as the line of sight N0.
  • the line of sight N0 is the direction in which the player 5 actually directs the line of sight with both eyes.
  • the line of sight N0 corresponds to the direction in which the player 5 actually directs the line of sight with respect to the field of view area 15.
  • the HMD system 100 may include a television broadcast reception tuner. According to such a configuration, the HMD system 100 can display a television program in the virtual space 11.
  • the HMD system 100 may be provided with a communication circuit for connecting to the Internet or a call function for connecting to a telephone line.
  • FIG. 6 is a diagram showing a YZ cross section of the field of view region 15 viewed from the X direction in the virtual space 11.
  • FIG. 7 is a diagram showing an XZ cross section of the field of view region 15 viewed from the Y direction in the virtual space 11.
  • the field of view region 15 in the YZ cross section includes the region 18.
  • the region 18 is defined by the position of the virtual camera 14, the reference line of sight 16, and the YZ cross section of the virtual space 11.
  • the processor 210 defines a range including the polar angle ⁇ around the reference line of sight 16 in the virtual space as a region 18.
  • the field of view region 15 in the XZ cross section includes the region 19.
  • the region 19 is defined by the position of the virtual camera 14, the reference line of sight 16, and the XZ cross section of the virtual space 11.
  • the processor 210 defines a range including the azimuth angle ⁇ centered on the reference line of sight 16 in the virtual space 11 as a region 19.
  • the polar angles ⁇ and ⁇ are determined according to the position of the virtual camera 14 and the inclination (orientation) of the virtual camera 14.
  • the HMD system 100 provides the player 5 with a field of view in the virtual space 11 by displaying the field of view image 17 on the monitor 130 based on the signal from the computer 200.
  • the visual field image 17 is an image corresponding to a portion of the panoramic image 13 corresponding to the visual field region 15.
  • the virtual camera 14 also moves in conjunction with the movement.
  • the position of the visual field region 15 in the virtual space 11 changes.
  • the field-of-view image 17 displayed on the monitor 130 is updated to an image of the panoramic image 13 superimposed on the field-of-view area 15 in the direction facing the player 5 in the virtual space 11.
  • the player 5 can visually recognize the desired direction in the virtual space 11.
  • the inclination of the virtual camera 14 corresponds to the line of sight (reference line of sight 16) of the player 5 in the virtual space 11, and the position where the virtual camera 14 is arranged corresponds to the viewpoint of the player 5 in the virtual space 11. Therefore, by changing the position or tilt of the virtual camera 14, the image displayed on the monitor 130 is updated and the field of view of the player 5 is moved.
  • the HMD system 100 can give the player 5 a high sense of immersion in the virtual space 11.
  • the processor 210 may move the virtual camera 14 in the virtual space 11 in conjunction with the movement of the player 5 equipped with the HMD 120 in the real space. In this case, the processor 210 identifies an image region (field of view region 15) projected onto the monitor 130 of the HMD 120 based on the position and tilt of the virtual camera 14 in the virtual space 11.
  • the virtual camera 14 may include two virtual cameras, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. Appropriate parallax is set in the two virtual cameras so that the player 5 can recognize the three-dimensional virtual space 11.
  • the virtual camera 14 may be realized by one virtual camera. In this case, an image for the right eye and an image for the left eye may be generated from the image obtained by one virtual camera.
  • the virtual camera 14 includes two virtual cameras, and the roll axis (w) generated by synthesizing the roll axes of the two virtual cameras is adapted to the roll axis (w) of the HMD 120. Assuming that it is configured as such, the technical idea according to the present disclosure will be exemplified.
  • the plurality of types of objects include an avatar object 6, which is the alter ego of the player 5, an operation object such as a virtual hand operated by the controller 300, a character object, a landscape including forests, mountains, and the like arranged as the story of the game progresses. Includes background objects such as cityscapes and animals.
  • FIG. 8 shows an example in which the avatar object 6 and the objects A to D are arranged. Examples of the objects A to D include, but are not limited to, character objects and background objects.
  • the avatar object 6 moves and is arranged at a position corresponding to the movement of the player 5. Further, the objects A to D and the like (hereinafter, also referred to as other objects) are operated and arranged at positions according to the progress of the game based on the game program.
  • an object of the enemy character corresponds to other objects.
  • an object of a plurality of blocks having different colors and shapes corresponds to another object.
  • the objects of furniture tables, chairs, chests of drawers, beds, etc.
  • the objects of items for escape are other objects.
  • an object of the musical instrument piano, violin, etc.
  • an object of another character co-starring with the avatar object, and the like correspond to other objects.
  • FIG. 9 is a diagram showing a schematic configuration of a controller 300 according to an embodiment.
  • the controller 300 may include a right controller 300R and a left controller (not shown).
  • the right controller 300R is operated by the right hand of the player 5.
  • the left controller is operated by the left hand of the player 5.
  • the right controller 300R and the left controller are symmetrically configured as separate devices. Therefore, the player 5 can freely move the right hand holding the right controller 300R and the left hand holding the left controller.
  • the controller 300 may be an integrated controller that accepts operations of both hands.
  • the right controller 300R will be described.
  • the right controller 300R includes a grip 310, a frame 320, and a top surface 330.
  • the grip 310 is configured to be gripped by the right hand of the player 5.
  • the grip 310 may be held by the palm of the player 5's right hand and three fingers (middle finger, ring finger, little finger).
  • the grip 310 includes buttons 340 and 350 and a motion sensor 420.
  • the button 340 is arranged on the side surface of the grip 310 and accepts an operation by the middle finger of the right hand.
  • the button 350 is arranged on the front surface of the grip 310 and accepts an operation by the index finger of the right hand.
  • the buttons 340,350 are configured as trigger type buttons.
  • the motion sensor 420 is built in the housing of the grip 310. If the operation of the player 5 can be detected from around the player 5 by a camera or other device, the grip 310 may not include the motion sensor 420.
  • the frame 320 includes a plurality of infrared LEDs 360 arranged along its circumferential direction.
  • the infrared LED 360 emits infrared rays as the program progresses while the program using the controller 300 is being executed.
  • the infrared rays emitted from the infrared LED 360 can be used to detect each position and posture (tilt, orientation) of the right controller 300R and the left controller.
  • infrared LEDs 360 arranged in two rows are shown, but the number of arrays is not limited to that shown in FIG. An array with one column or three or more columns may be used.
  • the top surface 330 includes buttons 370 and 380 and an analog stick 390.
  • the buttons 370 and 380 are configured as push buttons. Buttons 370 and 380 accept operations by the thumb of the right hand of the player 5.
  • the analog stick 390 accepts an operation in any direction 360 degrees from the initial position (neutral position) in a certain aspect.
  • the operation includes, for example, an operation for moving an object arranged in the virtual space 11.
  • the right controller 300R and the left controller include a battery for driving the infrared LED 360 and other components. Batteries include, but are not limited to, rechargeable, button type, dry cell type and the like.
  • the right controller 300R and the left controller may be connected to, for example, the USB IF of the computer 200. In this case, the right controller 300R and the left controller do not require batteries.
  • the configuration of the controller 300 described above is an example, and the present invention is not limited to this.
  • the yaw, roll, and pitch directions are defined with respect to the right hand of the player 5.
  • the direction in which the thumb extends is the yaw direction
  • the direction in which the index finger extends is the roll direction
  • the direction perpendicular to the plane defined by the yaw direction axis and the roll direction axis is the pitch direction. Is defined as.
  • FIG. 10 is a block diagram showing an example of the hardware configuration of the server 600 according to a certain embodiment.
  • the server 600 includes a processor 610, a memory 620, a storage 630, an input / output IF 640, and a communication IF 650 as main components. Each component is connected to bus 660, respectively.
  • the processor 610 executes a series of instructions included in the program stored in the memory 620 or the storage 630 based on the signal given to the server 600 or when a predetermined condition is satisfied.
  • the processor 610 is implemented as a CPU, GPU, MPU, FPGA or other device.
  • Memory 620 temporarily stores programs and data.
  • the program is loaded from storage 630, for example.
  • the data includes data input to the server 600 and data generated by the processor 610.
  • the memory 620 is realized as a RAM or other volatile memory.
  • Storage 630 permanently retains programs and data.
  • the storage 630 is realized as, for example, a ROM, a hard disk device, a flash memory, or other non-volatile storage device.
  • the program stored in the storage 630 realizes communication with the program for providing the virtual space in each of the HMD system 100 and the user terminal 800, the simulation program, the game program, the user authentication program, the computer 200, and the user terminal 800. May include a program for.
  • the data stored in the storage 630 may include data, objects, and the like for defining the virtual space.
  • the storage 630 may be realized as a removable storage device such as a memory card.
  • a configuration using programs and data stored in an external storage device may be used instead of the storage 630 built into the server 600. With such a configuration, it becomes possible to collectively update programs and data in a situation where a plurality of HMD systems 100 are used, for example, in an amusement facility.
  • the input / output IF640 communicates a signal with the input / output device.
  • the input / output IF640 is implemented using USB, DVI, HDMI® and other terminals.
  • the input / output IF 640 is not limited to the above.
  • the communication IF 650 is connected to the network 2 and communicates with each of the computer 200 and the user terminal 800 connected to the network 2.
  • the communication IF 650 is realized as, for example, a LAN or other wired communication IF, or a WiFi, Bluetooth®, NFC or other wireless communication IF.
  • the communication IF 650 is not limited to the above.
  • the processor 610 accesses the storage 630, loads one or more programs stored in the storage 630 into the memory 620, and executes a series of instructions included in the program.
  • the one or more programs may include an operating system of the server 600, an application program for providing the virtual space, game software that can be executed in the virtual space, and the like.
  • the processor 610 may send signals for providing virtual space to each of the computer 200 and the user terminal 800 via the input / output IF 640.
  • FIG. 11 is a block diagram showing a computer 200 according to an embodiment as a module configuration.
  • the computer 200 includes a control module 510, a rendering module 520, a memory module 530, and a communication control module 540.
  • the control module 510 and the rendering module 520 are implemented by the processor 210.
  • the plurality of processors 210 may operate as the control module 510 and the rendering module 520.
  • the memory module 530 is realized by the memory 220 or the storage 230.
  • the communication control module 540 is realized by the communication IF 250.
  • the control module 510 controls the virtual space 11 provided to the player 5.
  • the control module 510 defines the virtual space 11 in the HMD system 100 by using the virtual space data representing the virtual space 11.
  • the virtual space data is stored in, for example, the memory module 530.
  • the control module 510 may generate virtual space data or acquire virtual space data from a server 600 or the like.
  • the control module 510 arranges an object in the virtual space 11 by using object data representing the object (arrangement data (display data) for arranging (displaying) the object).
  • object data is stored in, for example, the memory module 530.
  • the control module 510 may generate object data or acquire object data from a server 600 or the like.
  • the control module 510 arranges an avatar object imitating the player 5 in the virtual space 11 based on the image including the player 5. In a certain aspect, the control module 510 arranges an avatar object in the virtual space 11 that has been selected by the player 5 from among a plurality of types of avatar objects (for example, an object imitating an animal or a deformed human object). .. In one aspect, the control module 510 arranges the avatar object of the player 5 of another computer 200 connected via the network 2 in the virtual space 11. In another aspect, the control module 510 may place the avatar object of the player 5 in the virtual space 11.
  • the control module 510 specifies the inclination of the HMD 120 based on the output of the HMD sensor 410. In another aspect, the control module 510 identifies the tilt of the HMD 120 based on the output of the sensor 190, which acts as a motion sensor.
  • the control module 510 detects organs (for example, mouth, eyes, eyebrows) constituting the face of the player 5 from the images of the face of the player 5 generated by the first camera 150 and the second camera 160.
  • the control module 510 detects the movement (shape) of each detected organ.
  • the control module 510 detects the line of sight in the virtual space 11 of the player 5 based on the signal from the gaze sensor 140.
  • the control module 510 detects the viewpoint position (coordinate value in the XYZ coordinate system) where the detected line of sight of the player 5 and the celestial sphere in the virtual space 11 intersect. More specifically, the control module 510 detects the viewpoint position based on the line of sight of the player 5 defined by the uvw coordinate system and the position and inclination of the virtual camera 14.
  • the control module 510 transmits the detected viewpoint position to the server 600.
  • the control module 510 may be configured to transmit line-of-sight information representing the line-of-sight of the player 5 to the server 600. In such a case, the viewpoint position can be calculated based on the line-of-sight information received by the server 600.
  • the control module 510 reflects the movement of the player 5's body detected by the HMD sensor 410 in the avatar object. For example, the control module 510 detects that the player 5 has crouched and crouches the avatar object. The control module 510 reflects the detected movement of the facial organ on the face of the avatar object arranged in the virtual space 11. In a certain aspect, the control module 510 reflects the movement of the controller 300 on the avatar object and the operation object. In this case, the controller 300 includes a motion sensor for detecting the movement of the controller 300, an acceleration sensor, a plurality of light emitting elements (for example, infrared LEDs), and the like. In another aspect, the control module 510 may receive the line-of-sight information of another player 5 from the server 600 and reflect it in the line-of-sight of the avatar object of the other player 5.
  • the control module 510 may receive the line-of-sight information of another player 5 from the server 600 and reflect it in the line-of-sight of the avatar object of the other player 5.
  • the control module 510 arranges an object including an operation object for receiving an operation of the player 5 in the virtual space 11 in the virtual space 11.
  • the player 5 operates, for example, an object arranged in the virtual space 11.
  • the operation object may include, for example, a hand object which is a virtual hand corresponding to the hand of the player 5.
  • the control module 510 moves the hand object in the virtual space 11 so as to be interlocked with the movement of the player 5's hand in the real space based on the output of the motion sensor 420.
  • the manipulation object can correspond to the hand portion of the avatar object.
  • the control module 510 detects a collision when each of the objects arranged in the virtual space 11 collides with another object.
  • the control module 510 can detect, for example, the timing at which the collision area of one object and the collision area of another object touch each other, and when the detection is made, a predetermined process is performed.
  • the control module 510 can detect the timing when the object and the object are separated from the touching state, and when the detection is made, the control module 510 performs a predetermined process.
  • the control module 510 can detect that the object is in contact with the object. For example, when the operation object touches another object, the control module 510 detects that the operation object touches the other object, and performs a predetermined process.
  • the control module 510 controls the image display on the monitor 130 of the HMD 120.
  • the control module 510 arranges the virtual camera 14 in the virtual space 11.
  • the control module 510 controls the position of the virtual camera 14 in the virtual space 11 and the inclination (orientation) of the virtual camera 14.
  • the control module 510 defines the field of view 15 according to the inclination of the head of the player 5 equipped with the HMD 120 and the position of the virtual camera 14.
  • the rendering module 520 generates a view image 17 to be displayed on the monitor 130 based on the determined view area 15.
  • the view image 17 generated by the rendering module 520 is output to the HMD 120 by the communication control module 540.
  • control module 510 When the control module 510 detects an utterance using the microphone 170 of the player 5 from the HMD 120, the control module 510 identifies the computer 200 to which the voice data corresponding to the utterance is transmitted. The voice data is transmitted to the computer 200 specified by the control module 510. When the control module 510 receives voice data from another user's computer 200 via the network 2, the control module 510 outputs voice (utterance) corresponding to the voice data from the speaker 180.
  • the memory module 530 holds data used by the computer 200 to provide the virtual space 11 to the player 5.
  • the memory module 530 holds spatial information, object information, and player information.
  • Spatial information holds one or more templates defined to provide virtual space 11.
  • the object information includes a plurality of panoramic images 13 constituting the virtual space 11 and object data for arranging the objects in the virtual space 11.
  • the panoramic image 13 may include a still image and a moving image.
  • the panoramic image 13 may include an image of unreal space and an image of real space. Examples of images in unreal space include images generated by computer graphics.
  • the player information holds a player ID that identifies the player 5.
  • the player ID may be, for example, an IP (Internet Protocol) address or a MAC (Media Access Control) address set in the computer 200 used by the player. In another aspect, the player ID may be set by the player.
  • the player information includes a program for operating the computer 200 as a control device of the HMD system 100 and the like.
  • the data and programs stored in the memory module 530 are input by the player 5 of the HMD 120.
  • the processor 210 downloads a program or data from a computer (for example, a server 600) operated by a business operator that provides the content, and stores the downloaded program or data in the memory module 530.
  • the communication control module 540 can communicate with the server 600 and other information communication devices via the network 2.
  • control module 510 and the rendering module 520 may be implemented using, for example, Unity® provided by Unity Technologies.
  • control module 510 and the rendering module 520 can also be realized as a combination of circuit elements that realize each process.
  • the processing in the computer 200 is realized by the hardware and the software executed by the processor 210.
  • Such software may be pre-stored in a hard disk or other memory module 530.
  • the software may be stored on a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks.
  • Such software is read from the data recording medium by an optical disk drive or other data reader, or downloaded from the server 600 or other computer via the communication control module 540, and then temporarily stored in the storage module. ..
  • the software is read from the storage module by the processor 210 and stored in RAM in the form of an executable program.
  • the processor 210 executes the program.
  • FIG. 12 is a block diagram showing a detailed configuration of a module of the computer 200 according to an embodiment.
  • the control module 510 includes a virtual object generation module 1421, a virtual camera control module 1422, an operation object control module 1423, an avatar object control module 1424, a motion detection module 1425, a collision detection module 1426, and a virtual object. It is equipped with a control module 1427.
  • the virtual object generation module 1421 generates data for arranging various virtual objects in the virtual space 11.
  • the virtual object may include, for example, a landscape including forests, mountains, etc., cityscapes, animals, etc., which are arranged as the story of the game progresses.
  • the virtual object may include an avatar object, an operation object, and a stage object.
  • the virtual camera control module 1422 controls the behavior of the virtual camera 14 in the virtual space 11.
  • the virtual camera control module 1422 controls, for example, the arrangement position of the virtual camera 14 in the virtual space 11 and the orientation (tilt) of the virtual camera 14.
  • the operation object control module 1423 controls an operation object for receiving the operation of the player 5 in the virtual space 11.
  • the player 5 operates, for example, a virtual object arranged in the virtual space 11.
  • the operation object may include, for example, a hand object (virtual hand) corresponding to the hand of the player 5 wearing the HMD 120.
  • the manipulation object may correspond to the hand portion of the avatar object described below.
  • the avatar object control module 1424 reflects the movement of the player 5 detected by the HMD sensor 410 in the avatar object. For example, the avatar object control module 1424 detects that the player 5 has crouched down and generates data for crouching down the avatar object. In one aspect, the avatar object control module 1424 reflects the movement of the controller 300 on the avatar object. In this case, the controller 300 includes a motion sensor for detecting the movement of the controller 300, an acceleration sensor, a plurality of light emitting elements (for example, infrared LEDs), and the like. The avatar object control module 1424 reflects the movement of the facial organ detected by the motion detection module 1425 on the face of the avatar object arranged in the virtual space 11. That is, the avatar object control module 1424 reflects the movement of the face of the player 5 on the avatar object.
  • the motion detection module 1425 detects the motion of the player 5.
  • the motion detection module 1425 detects the motion of the hand of the player 5, for example, according to the output of the controller 300.
  • the motion detection module 1425 detects the motion of the body of the player 5, for example, according to the output of the HMD sensor 410.
  • the motion detection module 1425 can also detect the motion of the facial organs of the player 5.
  • the collision detection module 1426 detects a collision when each of the virtual objects arranged in the virtual space 11 collides with another virtual object.
  • the collision detection module 1426 can detect, for example, the timing at which one virtual object and another virtual object touch each other.
  • the collision detection module 1426 can detect the timing when one virtual object and another virtual object are separated from the touching state.
  • the collision detection module 1426 can also detect that a virtual object is in contact with another virtual object.
  • the collision detection module 1426 detects, for example, that when an operation object touches another virtual object, the operation object and the other object touch each other.
  • the collision detection module 1426 executes predetermined processing based on these detection results.
  • the virtual object control module 1427 controls the behavior of virtual objects other than the avatar object in the virtual space 11. As an example, the virtual object control module 1427 transforms a virtual object. As another example, the virtual object control module 1427 changes the placement position of the virtual object. As another example, the virtual object control module 1427 moves a virtual object.
  • FIG. 13 is a block diagram showing an example of the hardware configuration of the user terminal 800 according to a certain embodiment.
  • the user terminal 800 (computer, information processing device) may be a mobile terminal such as a smartphone, a feature phone, a PDA (Personal Digital Assistant), or a tablet computer.
  • the user terminal 800 may be a game device suitable for game play.
  • the user terminal 800 includes a processor 810, a memory 820, a storage 830, a communication IF 13, an input / output IF 840, a touch screen 870 (display unit), a camera 860, and a distance measuring sensor 880.
  • the user terminal 800 may be provided with an input / output IF 840 capable of connecting a display (display unit) configured separately from the user terminal 800 main body in place of or in addition to the touch screen 870.
  • the user terminal 800 may be configured to be communicable with one or more controllers 1020.
  • the controller 1020 establishes communication with the user terminal 800, for example, according to a communication standard such as Bluetooth®.
  • the controller 1020 may have one or more buttons or the like, and transmits an output value based on the input operation of the user 8 to the buttons or the like to the user terminal 800. Since the user 8 is also a person who views the delivered content, it is also referred to as a viewer.
  • the controller 1020 may have various sensors such as an acceleration sensor and an angular velocity sensor, and transmits the output values of the various sensors to the user terminal 800.
  • the controller 1020 may have the camera 860 and the distance measuring sensor 880.
  • the user terminal 800 causes the user 8 who uses the controller 1020 to input user identification information such as the name or login ID of the user 8 via the controller 1020, for example, at the start of a game (or viewing).
  • the user terminal 800 can associate the controller 1020 with the user 8, and based on the source of the received output value (controller 1020), the user terminal 800 can determine which user 8 the output value belongs to. Can be identified.
  • each user 8 grips each controller 1020, so that the one user terminal does not communicate with other devices such as the server 600 via the network 2.
  • Multiplayer can be realized at 800. Further, by connecting the user terminals 800 to each other by a wireless standard such as a wireless LAN standard (communication connection without going through the server 600), it is possible to realize multi-play locally by a plurality of user terminals 800.
  • the user terminal 800 may further include at least a part of various functions described later described in the server 600. Further, when the above-mentioned multiplayer is realized locally by a plurality of user terminals 800, the plurality of user terminals 800 may be provided with various functions described later described in the server 600 in a distributed manner.
  • the user terminal 800 may communicate with the server 600.
  • information indicating a play result such as a result or a win or loss in a certain game may be associated with user identification information and transmitted to the server 600.
  • the controller 1020 may be configured to be detachable from the user terminal 800.
  • a coupling portion with the controller 1020 may be provided on at least one surface of the housing of the user terminal 800.
  • the user terminal 800 may accept the attachment of a storage medium 1030 such as an external memory card via the input / output IF840. As a result, the user terminal 800 can read the program and data recorded in the storage medium 1030.
  • the program recorded on the storage medium 1030 is, for example, a game program.
  • the user terminal 800 may store the game program acquired by communicating with an external device such as the server 600 in the memory 820 of the user terminal 800, or may store the game program acquired by reading from the storage medium 1030 in the memory 820. You may memorize it in.
  • the user terminal 800 includes a communication IF850, an input / output IF840, a touch screen 870, a camera 860, a distance measuring sensor 880, and a speaker 890 as an example of a mechanism for inputting information to the user terminal 800.
  • a communication IF850 an input / output IF840
  • a touch screen 870 a touch screen 870
  • a camera 860 a distance measuring sensor 880
  • a speaker 890 as an example of a mechanism for inputting information to the user terminal 800.
  • Each of the above-mentioned parts as an input mechanism can be regarded as an operation part configured to accept the input operation of the user 8.
  • the operation unit when the operation unit is configured by at least one of the camera 860 and the distance measuring sensor 880, the operation unit detects an object 1010 in the vicinity of the user terminal 800 and performs an input operation from the detection result of the object. Identify.
  • a user 8's hand as an object 1010, a marker having a predetermined shape, or the like is detected, and an input operation is specified based on the color, shape, movement, or type of the object 1010 obtained as a detection result. Will be done.
  • the user terminal 800 performs a gesture (a series of movements of the user 8's hand) detected based on the captured image. Specified and accepted as an input operation of.
  • the captured image may be a still image or a moving image.
  • the user terminal 800 identifies and accepts the operation of the user 8 performed on the input unit 8701 of the touch screen 870 as the input operation of the user 8.
  • the operation unit is configured by the communication IF 850
  • the user terminal 800 identifies and accepts a signal (for example, an output value) transmitted from the controller 1020 as an input operation of the user 8.
  • a signal output from an input device (not shown) different from the controller 1020 connected to the input / output IF840 is specified and accepted as an input operation of the user 8. ..
  • the processor 810 controls the operation of the entire user terminal 800.
  • the processor 810 includes a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a GPU (Graphics Processing Unit).
  • the processor 810 reads the program from the storage 830 and expands it to the memory 820. Processor 810 executes the expanded program.
  • Memory 820 is the main storage device.
  • the memory 820 is composed of a storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the memory 820 provides a work area to the processor 810 by temporarily storing programs, virtual space data, object data, and the like read from the storage 830 described later by the processor 810.
  • the memory 820 also temporarily stores various data generated while the processor 810 is operating according to the program.
  • the program may be a game program for realizing the game by the user terminal 800.
  • the program may be a game program for realizing the game in cooperation with the user terminal 800 and the server 600.
  • the program may be a game program for realizing the game in cooperation with the user terminal 800, the server 600, and the HMD set 110.
  • the game realized by the cooperation of the user terminal 800 and the server 600 and the game realized by the cooperation of the user terminal 800, the server 600, and the HMD set 110 are, for example, a browser activated in the user terminal 800. It may be the game run above.
  • the program may be a game program for realizing the game by the cooperation of a plurality of user terminals 800.
  • the various data include data related to the game such as user information and game information, and instructions or notifications to be transmitted / received between the devices of the HMD system 100.
  • the storage 830 is an auxiliary storage device.
  • the storage 830 is composed of a storage device such as a flash memory or an HDD (Hard Disk Drive).
  • Virtual space data, object data, and the like are stored in the storage 830.
  • the virtual space data, object data, etc. are used when the user terminal 800 first downloads an application related to this game (including an application for viewing) or updates an application related to this game (including an application for viewing). Occasionally, it is provided from the server 600 to the user terminal 800.
  • the communication IF850 controls the transmission and reception of various data in the user terminal 800.
  • the communication IF850 controls, for example, communication via a wireless LAN, Internet communication via a wired LAN, a wireless LAN, or a mobile phone network, and communication using short-range wireless communication and the like.
  • the input / output IF840 is an interface for the user terminal 800 to accept data input, and an interface for the user terminal 800 to output data.
  • the input / output IF840 may input / output data via USB or the like.
  • the input / output IF 840 may include, for example, a physical button, a camera, a microphone, a speaker, or the like of the user terminal 800.
  • the touch screen 870 of the user terminal 800 is an electronic component that combines an input unit 8701 and a display unit 8702.
  • the input unit 8701 is, for example, a touch-sensitive device, and is configured by, for example, a touch pad.
  • the display unit 8702 is composed of, for example, a liquid crystal display, an organic EL display, or the like.
  • the input unit 8701 detects the position where the user 8's operation (mainly a physical contact operation such as a touch operation, a slide operation, a swipe operation, and a tap operation) is input to the input surface, and outputs information indicating the position. It has a function to transmit as an input signal.
  • the input unit 8701 may include a touch sensing unit (not shown).
  • the touch sensing unit may adopt any method such as a capacitance method or a resistance film method.
  • the display 430 of the HMD set 110 may be configured by a touch screen in which an input unit and a display unit are combined, similar to the touch screen 870 of the user terminal 800.
  • the user terminal 800 may include one or more sensors for specifying the holding posture of the user terminal 800.
  • This sensor may be, for example, an acceleration sensor, an angular velocity sensor, or the like.
  • the processor 810 can also specify the holding posture of the user terminal 800 from the output of the sensor and perform processing according to the holding posture.
  • the processor 810 may be a vertical screen display in which a vertically long image is displayed on the display unit 8702 when the user terminal 800 is held vertically.
  • the user terminal 800 when the user terminal 800 is held horizontally, it may be a horizontal screen display in which a horizontally long image is displayed on the display unit. In this way, the processor 810 may be able to switch between the vertical screen display and the horizontal screen display according to the holding posture of the user terminal 800.
  • the speaker 890 outputs voice based on voice data.
  • the camera 860 includes an image sensor and the like, and generates a captured image by converting the incident light incident from the lens into an electric signal.
  • the distance measuring sensor 880 is a sensor that measures the distance to the object to be measured.
  • the ranging sensor 880 includes, for example, a light source that emits pulse-converted light and a light receiving element that receives the light.
  • the distance measuring sensor 880 measures the distance to the object to be measured by the timing of light emission from the light source and the timing of receiving the reflected light generated by the light emitted from the light source being reflected by the object to be measured.
  • the ranging sensor 880 may have a light source that emits light having directivity.
  • the camera 860 and the distance measuring sensor 880 may be provided, for example, on the side surface of the housing of the user terminal 800.
  • a ranging sensor 880 may be provided in the vicinity of the camera 860.
  • the camera 860 for example, an infrared camera can be used.
  • the camera 860 may be provided with a lighting device that irradiates infrared rays, a filter that blocks visible light, and the like. This makes it possible to further improve the detection accuracy of the object based on the captured image of the camera 860 regardless of whether it is outdoors or indoors.
  • the processor 810 may perform one or more of the processes shown in the following (1) to (5), for example, on the captured image of the camera 860.
  • the processor 810 performs image recognition processing on the captured image of the camera 860 to specify whether or not the captured image includes the hand of the user 8.
  • the processor 810 may use, for example, a technique such as pattern matching as the analysis technique adopted in the above-mentioned image recognition process.
  • the processor 810 detects the gesture of the user 8 from the shape of the hand of the user 8.
  • the processor 810 specifies, for example, the number of fingers of the user 8 (the number of extended fingers) from the shape of the hand of the user 8 detected from the captured image.
  • the processor 810 further identifies the gesture performed by the user 8 from the number of identified fingers.
  • the processor 810 determines that the user 8 has made a "par" gesture when the number of fingers is five. Further, when the number of fingers is 0 (the finger is not detected), the processor 810 determines that the user 8 has made a “goo” gesture. Further, the processor 810 determines that the user 8 has performed the "choki” gesture when the number of fingers is two. (3) The processor 810 performs image recognition processing on the captured image of the camera 860 to determine whether the finger of the user 8 is in a state where only the index finger is raised or whether the finger of the user 8 is repelled. To detect.
  • the processor 810 is an object 1010 (hand of the user 8) in the vicinity of the user terminal 800 based on at least one of the image recognition result of the captured image of the camera 860 and the output value of the distance measuring sensor 880. Etc.) and the distance between the user terminal 800 and the user terminal 800.
  • the processor 810 may or may not have the user 8's hand near the user terminal 800 (for example, a distance less than a predetermined value) or far away (for example, depending on the size of the user 8's hand identified from the captured image of the camera 860). Detects whether the distance is greater than or equal to a predetermined value.
  • the processor 810 may detect whether the user 8's hand is approaching or moving away from the user terminal 800. (5) When it is found that the distance between the user terminal 800 and the user 8's hand is changed while the user 8's hand is detected based on the image recognition result of the captured image of the camera 860. The processor 810 recognizes that the user 8 is waving his hand in the shooting direction of the camera 860. In the ranging sensor 880, which has a stronger directivity than the shooting range of the camera 860, the processor 810 is waving the user 8 in a direction orthogonal to the shooting direction of the camera when an object is detected or not detected. Recognize that.
  • the processor 810 determines whether or not the user 8 is holding a hand (whether it is a “goo” gesture or another gesture (for example, “par”) by recognizing an image captured by the camera 860. Is there)? In addition, the processor 810 detects the shape of the user 8's hand and how the user 8 is moving the hand. In addition, the processor 810 detects whether the user 8 is approaching or moving away from the user terminal 800. Such an operation can correspond to an operation using a pointing device such as a mouse or a touch panel, for example. The user terminal 800, for example, moves the pointer on the touch screen 870 in response to the movement of the user 8's hand, and detects the gesture “goo” of the user 8.
  • a pointing device such as a mouse or a touch panel
  • the user terminal 800 recognizes that the user 8 is continuing the selection operation.
  • the continuation of the selection operation corresponds to, for example, the state in which the mouse is clicked and pressed, or the state in which the mouse is touched after the touch-down operation is performed on the touch panel.
  • the user terminal 800 responds to such a series of gestures by a swipe operation (or a drag operation). It can also be recognized as an operation.
  • the user terminal 800 detects a gesture that the user 8 flips a finger based on the detection result of the user 8's hand by the captured image of the camera 860, the user terminal 800 clicks the mouse or touches the touch panel. It may be recognized as an operation corresponding to the tap operation.
  • FIG. 14 is a diagram schematically showing an example of a virtual space 11 and a view image 1400 defined in a user terminal (hereinafter, also referred to as a viewing terminal) 800.
  • an avatar object hereinafter, also referred to as a character
  • the computer 200 distributes operation instruction data (described later) for specifying the arrangement / operation of the avatar object 6 and other objects A to D in the virtual space 11 shown in FIG. 8 to the user terminal 800. Therefore, the arrangement and movement of the avatar object 6 and the other objects A to D in the virtual space 11 shown in FIG.
  • the user 8A holds the user terminal 800A in his left hand.
  • the user 8A watches the live game progress part, which is a program demonstrated by the avatar object 6, while visually recognizing the screen of the user terminal 800A.
  • the avatar object 6 makes the same movement as the movement of the avatar object 6 in the virtual space 11 shown in FIG. 8 based on the operation instruction data.
  • the user 8A watches the performance of the avatar object 6 as a participant of the live game progress part through the screen of the user terminal 800A.
  • the other users 8C and 8D watch the performance of the avatar object 6 as participants in the live game progress part through the screens of the other user terminals 800C and 800D. In this way, the live game progress part progressed by the avatar object 6 is simultaneously delivered to the plurality of users 8.
  • the virtual camera 20A is arranged in front of the avatar object 6 in the virtual space 11 defined by the user terminal 800A.
  • the virtual camera 20A defines a field of view 21 according to the position and orientation of the virtual camera 20A.
  • the processor 810 generates a field of view image 1400 corresponding to the field of view area 21 and displays it on the display unit 8702 of the touch screen 870 as shown in FIG. 14 (B). That is, the field of view area 21 is defined from the viewpoint of the virtual camera 20A, and the field of view image 1400 is also displayed from the viewpoint of the virtual camera 20A.
  • the view image 1400 includes at least the avatar object 6 that performs the performance.
  • the user 8A By visually recognizing the field of view image 1400, the user 8A visually recognizes the avatar object 6 and a part of the virtual space 11 in which the avatar object 6 appears. As a result, the user 8A can obtain a virtual experience as if the avatar object 6 is an actual distributor.
  • FIG. 15 is a block diagram showing a functional configuration of the HMD set 110, the user terminal 800, and the server 600 included in the HMD system (hereinafter, also referred to as a game system) 100.
  • Each of the HMD set 110, the user terminal 800, and the server 600 has a functional configuration (not shown) necessary for functioning as a general computer and a functional configuration necessary for realizing a known function in a game. Can include.
  • the HMD set (hereinafter, also referred to as a character control device) 110 is an operation for arranging and operating an object in the virtual space 11 shown in FIG. 8 and arranging and operating the object in the virtual space 11 shown in FIG. It has a function of generating instruction data and supplying it to the user terminal 800.
  • the operation instruction data may be data that enables the user terminal 800 to display the game play image in the live game progress part progressed by the avatar object 6, and for example, the movement of the player 5 (model or the like) may be motion sensor. It may include motion capture data (also referred to as motion data) input via 420, or may include audio data obtained by recording the audio of player 5 (voice actor, etc.), or another object by player 5.
  • the HMD set 110 functions as a control unit 2100 (control module 510, rendering module 520) and a storage unit 2200 (memory module 530) in cooperation with a processor 210, a memory 220, a storage 230, a communication IF 250, an input / output IF 240, and the like. do.
  • the user terminal 800 has a function as an input device for receiving an input operation of the user 8 and a function as an output device for outputting a game image or sound.
  • the user terminal 800 functions as a control unit 8100 and a storage unit 8200 by the cooperation of the processor 810, the memory 820, the storage 830, the communication IF850, the input / output IF840, and the like.
  • the server 600 has a function of communicating with each user terminal 800 to support viewing of a game image on the user terminal 800. For example, when the user terminal 800 downloads or updates the application related to this game for the first time, the data should be stored in the user terminal 800 in order to display the game play video, and may be included in the game play video.
  • Object data also referred to as object display data or object data
  • the server 600 has a function of mediating between the user terminal 800 and the HMD set 110.
  • the HMD set 110 can supply the operation instruction data to the user terminal 800 or a group of a plurality of user terminals 800 in a timely manner without making a mistake in the destination.
  • the server 600 functions as a control unit 6100 and a storage unit 6200 in cooperation with a processor 610, a memory 620, a storage 630, a communication IF 650, an input / output IF 640, and the like.
  • the server 600 may have a function of communicating with each HMD set 110 participating in the game and mediating an exchange between the HMD sets 110 and a synchronization control function. good.
  • the storage unit 2200 stores the game program 231.
  • the storage unit 8200 stores the game program 831.
  • the storage unit 6200 stores the game program 631.
  • the game program 231 is a game program executed by the HMD set 110.
  • the game program 831 is a game program executed by the user terminal 800.
  • the game program 631 is a game program executed by the server 600.
  • a game related to the HMD system 100 is realized by operating the devices in cooperation with each other based on the game programs 231 and 631 and 831.
  • the game programs 231 and 831 may be stored in the storage unit 6200 and downloaded to the storage units 2200 and 8200, respectively.
  • the storage units 2200, 8200, and 6200 store the game information 132 and the user information 133, respectively.
  • the game information 132 is data that the control units 2100, 8100, and 6100 refer to when executing the game programs 231, 831, and 631, respectively.
  • the user information 133 is data related to the account of the user 8. In the storage units 2200 and 6200, the game information 132 and the user information 133 are stored for each user terminal 800.
  • the user information 133 may include a purchase history of virtual currency (billing item) and a purchase or acquisition history of a specific item.
  • the control unit 2100 comprehensively controls the HMD set 110 by executing the game program 231 stored in the storage unit 2200.
  • the control unit 2100 arranges and operates an object in the virtual space 11 shown in FIG. 8 according to the operations of the game program 231 and the player 5, and generates operation instruction data associated with the arrangement and operation on the user terminal 800. Supply.
  • the control unit 2100 may further execute the game program 231 as needed. Further, the control unit 2100 communicates with the server 600 and the user terminal 800 running the game to send and receive information.
  • the control unit 2100 has an operation reception unit 2101, a display control unit 2102, a UI control unit 2103, an animation generation unit 2104, a game progress unit 2105, a virtual space control unit 2106, and a reaction processing unit 2107 according to the description of the game program 231. Functions as.
  • the control unit 2100 can also function as other functional blocks (not shown) in order to control the objects appearing in the game according to the nature of the game executed in the HMD system 100.
  • the operation reception unit 2101 detects and accepts the input operation of the player 5.
  • Input operations include, for example, various inputs such as an HMD 120, a motion sensor 420, an input unit integrally formed with a display unit when the display 430 is a touch screen, a mouse (not shown), and a keyboard (not shown). It is input from the device via the input / output IF34.
  • the operation receiving unit 2101 determines what kind of input operation has been performed from the action exerted by the player 5, and outputs the result to each element of the control unit 2100.
  • the user interface (hereinafter, UI) control unit 2103 controls the UI image to be displayed on the HMD 120 or the display 430.
  • the animation generation unit 2104 generates an animation showing the motion of various objects based on the control mode of various objects.
  • the animation generation unit 2104 may generate an animation or the like that reproduces the game screen actually displayed on the user terminal 800 that is the communication partner.
  • the display control unit 2102 outputs an image reflecting the processing result executed by each of the above-mentioned elements to the HMD 120 or the display 430.
  • the game progress unit 2105 progresses the game based on the avatar object 6 corresponding to the input operation by the player 5 and the operation of the user 8 of the user terminal 800. For example, the game progress unit 2105 performs a predetermined game process when the avatar object 6 performs a predetermined operation. Further, for example, the game progress unit 2105 receives information representing the operation of the user 8 in the user terminal 800, and performs the game processing based on the operation of the user 8. The game progress unit 2105 updates various game parameters based on the game processing. The game information including the game parameters is supplied to the user terminal 800 via the server 600.
  • the virtual space control unit 2106 includes modules 1421 to 1427 of the control module 510 described with reference to FIG. These details have already been described.
  • the virtual space control unit 2106 performs various controls for sharing the virtual space 11 with the user terminal 800.
  • FIG. 16 is a diagram showing a detailed configuration of the virtual space control unit 2106.
  • the virtual space control unit 2106 includes modules 1421-1427 described with reference to FIG.
  • the virtual space control unit 2106 operates the avatar object 6 and controls the behavior of the virtual object in the HMD set 110 by the operation of these modules 1421 to 1427. Further, the virtual space control unit 2106 generates operation instruction data for operating the avatar object 6 on the user terminal 800 and operation instruction data for controlling the behavior of each virtual object based on the operations of the modules 1421 to 1427. do. These operation instruction data are supplied to the user terminal 800 via the server 600.
  • the virtual space control unit 2106 generates operation instruction data instructing the controlled object to speak based on the voice data input by the player 5 (voice actor or the like) via the microphone 170.
  • the operation instruction data generated in this way includes at least the above-mentioned voice data.
  • the player 5 model or the like
  • the motion instruction data generated in this way includes at least the above-mentioned motion capture data.
  • the player 5 operates an object to be controlled based on a history of input operations input via an input mechanism such as a controller 300 or an operation unit such as a touch screen, a mouse, or a keyboard, that is, operation history data. Generates action instruction data instructing to do so.
  • the operation instruction data generated in this way includes at least the above-mentioned operation history data.
  • the operation history data is, for example, information in which operation logs indicating which button of the controller 300 is pressed at what timing by the player 5 when which screen is displayed on the HMD 120 are organized in chronological order. ..
  • the virtual space control unit 2106 identifies a command instructing the operation of the object associated with the input operation input by the player 5 via the above-mentioned input mechanism or operation unit. Then, the virtual space control unit 2106 arranges the commands in the order in which they are input to generate a motion command group indicating a series of motions of the object, and generates motion instruction data instructing the object to be operated according to the motion command group. You may.
  • the motion instruction data generated in this way includes at least the above-mentioned motion command group.
  • the reaction processing unit 2107 receives feedback from the user terminal 800 regarding the reaction of the user 8 and outputs the feedback to the player 5 of the HMD set 110.
  • the user terminal 800 can create a comment for the object while the user terminal 800 is operating the object according to the above-mentioned operation instruction data.
  • the reaction processing unit 2107 receives the comment data of the comment and outputs it.
  • the reaction processing unit 2107 may display the text data corresponding to the comment of the user 8 on the display unit 352, or may output the voice data corresponding to the comment of the user 8 from a speaker (not shown).
  • the control unit 6100 comprehensively controls the server 600 by executing the game program 631 stored in the storage unit 6200. For example, the control unit 6100 transmits various data, programs, and the like to the user terminal 800. The control unit 6100 receives a part or all of the game information or the user information from the user terminal 800. When the game is a multiplayer game, the control unit 6100 may receive a request for synchronization of the multiplayer from the HMD set 110 and transmit data for synchronization to the HMD set 110. Further, the control unit 6100 communicates with the user terminal 800 and the HMD set 110 as necessary to transmit and receive information.
  • the control unit 6100 functions as a progress support unit 6101 and a sharing support unit 6102 according to the description of the game program 631.
  • the control unit 6100 can also function as other functional blocks (not shown) in order to support the progress of the game on the user terminal 800, depending on the nature of the game to be executed.
  • the progress support unit 6101 communicates with the user terminal 800, and the user terminal 800 supports the progress of various parts included in this game. For example, when the user terminal 800 advances the game, the progress support unit 6101 provides the user terminal 800 with information necessary for advancing the game.
  • the sharing support unit 6102 communicates with a plurality of user terminals 800 and the HMD set 110, and supports the progress of the game and the sharing of the virtual space 11 among these devices. Further, the sharing support unit 6102 may have a function of matching the online user terminal 800 with the HMD set 110. As a result, information can be smoothly transmitted and received between the user terminal 800 and the HMD set 110.
  • the control unit 8100 comprehensively controls the user terminal 800 by executing the game program 831 stored in the storage unit 8200.
  • the control unit 8100 supports the progress of the game by the player 5 according to the operations of the game program 831 and the user 8. Further, the control unit 8100 communicates with the HMD set 110 via the server 600 to transmit / receive information while the game is in progress by the player 5.
  • the control unit 8100 has an operation reception unit 8101, a display control unit 8102, a UI control unit 113, an animation generation unit 8104, a game progress unit 8105, a virtual space control unit 8106, and a progress information generation unit according to the description of the game program 831. Functions as 8107.
  • the control unit 8100 can also function as other functional blocks (not shown) in order to advance the game, depending on the nature of the game to be executed.
  • the operation reception unit 8101 detects and accepts the input operation of the user 8 to the input unit 8701.
  • the operation reception unit 8101 determines what kind of input operation has been performed from the action exerted by the user 8 on the console via the touch screen 870 and other input / output IF14s, and outputs the result to each element of the control unit 8100. Output.
  • the details of the function of the operation reception unit 8101 are almost the same as those of the operation reception unit 2101 in the HMD set 110.
  • the operation receiving unit 8101 receives an input operation for the input unit 8701, detects the coordinates of the input position of the input operation, and specifies the type of the input operation.
  • the operation reception unit 8101 specifies, for example, a touch operation, a slide operation, a swipe operation, a tap operation, and the like as types of input operations. Further, the operation reception unit 8101 detects that the contact input is canceled from the touch screen 870 when the continuously detected input is interrupted.
  • the UI control unit 8103 controls the UI image to be displayed on the display unit 8702 in order to construct the UI.
  • the UI image is a tool for the user 8 to make an input necessary for the progress of the game to the user terminal 800, or a tool for obtaining information output during the progress of the game from the user terminal 800.
  • UI images are, but are not limited to, icons, buttons, lists, menu screens, and the like.
  • the animation generation unit 8104 generates an animation showing the motion of various objects based on the control mode of various objects. For example, the animation generation unit 8104 may generate an animation or the like that expresses how an object moves as if it were there, moves its mouth, or changes its facial expression.
  • the display control unit 8102 outputs a game screen reflecting the processing result executed by each of the above-mentioned elements to the display unit 8702 of the touch screen 870.
  • the display control unit 8102 may display the game screen including the animation generated by the animation generation unit 8104 on the display unit 8702. Further, the display control unit 8102 may superimpose and draw the above-mentioned UI image controlled by the UI control unit 8103 on the game screen. Further, the display control unit 8102 may superimpose and draw various game parameters on the game screen based on the game information supplied from the HMD set 110.
  • the virtual space control unit 8106 performs various controls for sharing the virtual space 11 with the HMD set 110.
  • FIG. 17 is a diagram showing a detailed configuration of the virtual space control unit 8106. As shown in FIG. 17, the virtual space control unit 8106 includes a virtual object generation module 8121, a virtual camera control module 8122, an avatar object control module 8124, and a virtual object control module 8127.
  • the virtual object generation module 8121 is configured in the same manner as the virtual object generation module 1421 described with reference to FIG.
  • the virtual object generated in the user terminal 800 synchronizes with the virtual object generated in the HMD set 110.
  • whether or not to synchronize each virtual object may be determined for each virtual object.
  • some may not be generated by the user terminal 800.
  • some may be generated by the user terminal 800 in a different display form.
  • the display form may be, for example, color, transparency, or the like, but is not limited thereto.
  • the virtual space 11 generated by the user terminal 800 may include virtual objects other than the virtual objects generated by the HMD set 110.
  • the virtual camera control module 8122 is configured in the same manner as the virtual camera control module 1422 described with reference to FIG.
  • the virtual cameras 20A, 20C, 20D arranged in the virtual spaces 11A, 11C, 11D realized in the user terminals 800A, 800C, 800D are virtual cameras arranged in the virtual space 11 realized in the HMD set 110. It is different from 14. That is, the field of view image of the virtual space 11 shared between the HMD set 110 and the user terminal 800 may differ between the HMD set 110 and the user terminal 800.
  • the positions and directions of the virtual cameras 20A, 20C, 20D may be operable or inoperable by the users 8A, 8C, 8D. If the virtual cameras 20A, 20C, and 20D are inoperable, the positions and directions of the virtual cameras 20A, 20C, and 20D may be the same. In this case, the plurality of users 8 will view a common field of view image through each user terminal 800. That is, in this case, the plurality of users 8 can view the field of view image (live image) taken by the common virtual camera.
  • the positions and directions of the virtual cameras 20A, 20C, and 20D can be operated by the users 8A, 8C, and 8D, and an example in which a plurality of users 8 view different view images will be mainly described.
  • the position and direction of the virtual camera 20A change according to a slide operation (or a swipe operation) or the like with respect to the touch screen of the user terminal 800A.
  • the position of the virtual camera 20A moves to the left in response to a slide operation to the left, moves to the right in response to a slide operation to the right, and moves upward in response to an upward slide operation. Moves to, and moves downward according to the downward slide operation.
  • the orientation of the virtual camera 20A is adjusted so that, for example, the avatar object 6 fits in the field of view area 21 (specifically, the avatar object 6 is the center of the field of view area 21).
  • the avatar object control module 8124 operates according to the operation instruction data with respect to the avatar object control module 1424 described with reference to FIG. 12, instead of operating according to the movement of the HMD 120 or the movement of the controller 300. It is configured in the same way except that the points are different.
  • the operation instruction data is generated in the HMD set 110 according to the movement of the HMD 120 or the movement of the controller 300, and is distributed to the user terminal 800.
  • the virtual object control module 8127 is configured in the same manner as the virtual object control module 1427 described with reference to FIG. 12, except that it operates according to the operation instruction data.
  • the operation instruction data is generated in the HMD set 110 so as to represent the behavior of virtual objects other than the avatar object 6 in the HMD set 110, and is distributed to the user terminal 800.
  • the virtual space control unit 8106 analyzes (renders) the operation instruction data and operates the avatar object 6 and the virtual object based on the analysis result.
  • the virtual space control unit 8106 triggers that the operation instruction data supplied by the HMD set 110 is received via the communication IF 33, and the avatar object 6 or another virtual object is based on the data. To operate. This makes it possible to show the user 8 the avatar object 6 and other virtual objects that operate in real time.
  • the game progress unit 8105 supports the progress of the game by the player 5 of the HMD set 110 in response to the input operation of the user 8 input via the operation reception unit 8101. For example, the game progress unit 8105 supports the progress of the game by the player 5 by arranging the item object in the virtual space 11 while the game is in progress.
  • the progress information generation unit 8107 generates progress information indicating the progress of the game support being executed by the game progress unit 8105, and sends it to the server 600 or the HMD set 110 in a timely manner.
  • the progress information may include, for example, information that specifies the currently displayed game screen, or may include a progress log indicating the progress of the game in chronological order by characters, symbols, and the like.
  • the progress information generation unit 8017 may be omitted.
  • the functions of the HMD set 110, the server 600, and the user terminal 800 shown in FIG. 15 are merely examples. Each device of the HMD set 110, the server 600, and the user terminal 800 may have at least some of the functions of the other devices. Further, another device other than the HMD set 110, the server 600, and the user terminal 800 may be a component of the HMD system 100, and the other device may be made to execute a part of the processing in the HMD system 100. That is, the computer that executes the game program in the present embodiment may be any of the HMD set 110, the server 600, the user terminal 800, and other devices other than the HMD set 110, and is realized by a combination of these plurality of devices. You may.
  • the functions of the server 600 and the user terminal 800 shown in FIG. 15 are only examples.
  • the server 600 may include at least some of the functions of the user terminal 800.
  • the user terminal 800 may have at least a part of the functions included in the server 600.
  • devices other than the user terminal 800 and the server 600 may be used as components of the HMD system 100, and the other devices may be made to execute a part of the processing in the HMD system 100. That is, the computer that executes the game program in the present embodiment may be any of the user terminal 800, the server 600, and other devices, or may be realized by a combination of a plurality of these devices.
  • the game executed by the HMD system 100 according to the present embodiment is, for example, an avatar object that operates a weapon such as a gun or a knife.
  • This is a game in which 6 and a plurality of enemy objects 23 appear in the virtual space 11 and the avatar object 6 plays a battle with the enemy object 23.
  • Various game parameters such as the physical strength of the avatar object 6, the number of magazines that can be used, the number of remaining bullets of the gun, and the remaining number of the enemy object 23 are updated as the game progresses.
  • a plurality of stages are prepared in this game, and the player 5 can clear the stage by satisfying a predetermined achievement condition associated with each stage.
  • the predetermined achievement conditions are, for example, defeating all the appearing enemy objects 23, defeating the boss object among the appearing enemy objects 23, acquiring a predetermined item, reaching a predetermined position, and the like. It may include the condition to be used.
  • the game information including the above-mentioned various game parameters and the operation instruction data for arranging and operating the object are provided. Live distribution is performed to a plurality of user terminals 800 at predetermined time intervals.
  • the field of view image 1400 of the field of view 21 defined by the virtual camera 20 corresponding to the user terminal 800 is displayed in the virtual space 11. Further, in the upper right and upper left rows of the view image 1400, parameter images showing the physical strength of the avatar object 6, the number of magazines that can be used, the number of remaining bullets of the gun, the remaining number of the enemy object 23, etc. are superimposed and displayed. The object.
  • the details of the operation instruction data are as follows. That is, during the live distribution, the computer 200 of the HMD set 110 arranges and operates the operation instruction data for controlling the operation of the avatar object 6 according to the operation of the player 5, and other objects such as the enemy object 23 according to the game program.
  • the operation instruction data and the like for controlling the above are generated, and the operation instruction data is distributed to a plurality of user terminals 800 via the server 600.
  • Each of the plurality of user terminals 800 analyzes (renders) the operation instruction data by using the reception of the operation instruction data as a trigger.
  • the operation instruction data includes information for specifying the type of the object to be arranged, the position, posture, orientation, etc. of the object, and the user terminal 800 analyzes the operation instruction data to determine which object. It is specified in what position and orientation in the virtual space 11 and the like.
  • Object data such as the avatar object 6 and the enemy object 23 are stored in advance in the memory 820 of the user terminal 800.
  • the user terminal 800 uses the object data to place an object of the type corresponding to the analysis result of the operation instruction data at a position in the virtual space 11 according to the analysis result, and a posture / orientation according to the analysis result. Arrange with etc.
  • the arrangement and movement of the avatar object 6, the enemy object 23, etc. in the virtual space 11 defined by the user terminal 800 coincides with the arrangement and movement of the avatar object 6, the enemy object 23, etc. in the virtual space 11 defined by the computer 200. ..
  • the computer 200 of the HMD set 110 changes the level design corresponding to the difficulty level of the game according to the number of user terminals 800 (the number of viewers) who are watching the game. That is, the computer 200 adjusts the difficulty level of establishing the achievement condition associated with the stage according to the number of viewers when each of the plurality of stages is started. In one aspect, the computer 200 can expect a lot of support from the viewers as the number of viewers increases, and as a result, the difficulty of the game is to prevent the player 5 from easily clearing the game. Increase the degree.
  • the difficulty level is defined based on, for example, the fighting ability and appearance amount of the enemy object 23 and the fighting ability of the avatar object 6.
  • the computer 200 sets the combat ability and appearance amount of the enemy object 23 and the combat ability of the avatar object 6 to the initial values, and as the number of viewers increases, the more the number of viewers increases.
  • Each of the fighting ability and the appearance amount of the enemy object 23 may be increased from the initial value, or the fighting ability of the avatar object 6 may be decreased from the initial value.
  • the number of viewers for which the initial value is set may not be the case where the number of viewers is 0, but may be any number other than 0.
  • the fighting ability of the enemy object 23 is defined by the movement speed (agility) and physical strength of the enemy object 23, and the appearance amount of the enemy object 23 is the total number and appearance frequency of the enemy objects 23 appearing in the current stage. Specified by.
  • the combat ability of the avatar object 6 is defined by the movement speed (agility) of the avatar object 6, the physical strength, and the correction value depending on the type of weapon / armor to be equipped.
  • the UI image 22 for accepting the item input operation for supporting the avatar object 6 from the user 8 is displayed superimposed on the image representing the virtual space 11.
  • icons of a magazine, a first aid kit, and an obstacle are drawn on the UI image 22, and the item loading operation corresponds to the operation of tapping any of the icons.
  • the user terminal 800 consumes the virtual currency (value item) purchased and owned by the user 8 and determines a predetermined effect object 24 such as a present box (Fig.). 18 (C)) is arranged in the virtual space 11.
  • the effect by the effect object 24 (hereinafter, also referred to as an effect at the time of input) is executed for a predetermined time (for example, 2 seconds).
  • the effect at the time of throwing in is to display a countdown at the same time as arranging the present box, and open the lid of the present box when the count value becomes 0.
  • the size, shape, color, etc. of the present box may be the same regardless of the type of the inserted item, or may differ depending on the type of the item and the amount of virtual currency consumed. good.
  • the virtual currency is associated with the user 8 by, for example, billing or clearing a quest in the game.
  • the virtual currency may be paid or free of charge.
  • the user terminal 800 transmits the item input information to the computer 200 via the server 600 in response to the item input operation.
  • the item input information includes information for specifying the type of the item specified by the item input operation, and support for the computer 200 to arrange the item in the virtual space 11 or make it available in the virtual space 11.
  • Information for identifying the timing of invoking the effect (supporting action) is included.
  • the activation timing of the support effect is determined to coincide with the timing at which the effect by the effect object 24 ends (that is, the timing at which the predetermined time has elapsed since the effect object 24 was placed in the virtual space 11). ing.
  • the support effect of the item may be activated immediately or after a certain period of time has passed after the item was thrown in without producing the effect.
  • the user terminal 800 specifies a part of the range in the field of view of the virtual camera 20 as the item throwing range.
  • the item input information includes information for specifying the item input range.
  • the item input range is, for example, the range around the avatar object 6.
  • the computer 200 Upon receiving the item input information, the computer 200 determines the item corresponding to the item type specified from the item input information in order to support the avatar object 6, and the activation timing (more specifically) specified from the item input information.
  • the item is placed in the virtual space 11 or can be used in the virtual space 11 at the timing when the predetermined time has elapsed since the item input information was received.
  • the computer 200 recovers the remaining number of bullets of the gun used by the avatar object 6 at the activation timing. If the item type is a first-aid kit, the computer 200 recovers the physical strength of the avatar object 6 at the activation timing. Further, if the item type is an obstacle, the computer 200 specifies any position within the item input range specified from the item input information as the item input position, and activates the object representing the obstacle. Place it at the item insertion position at the timing.
  • the obstacle is, for example, an item having a function of obstructing the progress or attack of the enemy object 23. Therefore, it can be said that the obstacle is an item that supports the avatar object 6 by arranging the obstacle.
  • the computer 200 adjusts the degree (magnitude) of the support effect according to the number of viewers when the current stage is started.
  • the computer 200 sets the degree of the support effect to an initial value when the number of viewers is 0, and decreases the degree of the support effect as the number of viewers increases.
  • the degree of the support effect is defined by the amount of recovery for the remaining number of bullets of the gun used by the avatar object 6 and the physical strength of the avatar object 6, and is defined by the size, strength, weight, etc. of the obstacle.
  • the degree of the support effect is increased, the amount of recovery of the remaining number of bullets of the gun or the amount of recovery of the physical strength of the avatar object 6 is increased, and the size, strength, weight, etc. of the obstacle are increased.
  • An increase in the amount of recovery of the remaining number of bullets of the gun or the amount of recovery of the physical strength of the avatar object 6 brings about an extension of the battle time of the avatar object 6, and an increase in the size, strength, weight, etc. of the obstacle increases the enemy object 23. Brings a longer time to reach the avatar object 6.
  • the computer 200 When the input item is an obstacle, the computer 200 generates operation instruction data including information for specifying the type of the object of the obstacle, the position and the posture of the object, and uses the operation instruction data as a server. It is distributed to a plurality of user terminals 800 via 600 (see FIG. 19).
  • Each user terminal 800 identifies the type of the item object to be arranged, the position and the posture of the item object by analyzing the operation instruction data. Further, each user terminal 800 arranges an item object in the virtual space 11 based on the analysis result by using the object data stored in advance in the memory 820.
  • the operation instruction data whose data amount is much smaller than the moving image data is transmitted to the plurality of user terminals 800.
  • the arrangement timing of the item object can be synchronized in each of the plurality of user terminals 800 while shortening the period from the time when the item is input until the item object is displayed in the user terminal 800.
  • the item object is arranged in the virtual space 11 at the same time as the effect by the effect object 24 is completed.
  • (About operation) 20 and 21 are flowcharts showing an example of the basic game progress of this game.
  • the processing according to the flowchart shown in FIG. 20 includes an operation reception unit 8101, a display control unit 8102, a UI control unit 8103, an animation generation unit 8104, a game progress unit 8105, and a virtual space provided in the control unit 8100 of the user terminal 800. It is executed by the cooperation of the control unit 8106 and the progress information generation unit 8107. Further, the processing according to the flowchart shown in FIG.
  • 21 includes an operation reception unit 2101, a display control unit 2102, a UI control unit 2103, an animation generation unit 2104, a game progress unit 2105, and a virtual space control unit provided in the control unit 2100 of the computer 200.
  • an operation reception unit 2101 a display control unit 2102, a UI control unit 2103, an animation generation unit 2104, a game progress unit 2105, and a virtual space control unit provided in the control unit 2100 of the computer 200.
  • FIGS. 20 and 21 may be executed by the server 600, and the processing result may be transmitted to the user terminal 800 or the computer 200. Further, the transmission / reception of information between the user terminal 800 and the computer 200 is executed via the server 600, but is not limited to this, and may be executed without going through the server 600. good.
  • step S01 it is determined whether or not the viewing start operation is performed by the user 8 based on the operation input from the touch screen 870.
  • the process proceeds to step S02, and the viewing start information is transmitted to the computer 200.
  • step S03 the virtual space 11 is defined based on the virtual space data stored in the storage 830.
  • step S04 the virtual camera 20 is arranged at a predetermined initial position of the virtual space 11. The initial position of the virtual camera 20 is, for example, a position where the center 12 of the virtual space 11 shown in FIG. 4 is captured from diagonally above.
  • step S05 the operation instruction data and the game information delivered from the computer 200 are received.
  • step S06 by analyzing the operation instruction data, it is specified in what position and in what posture the virtual objects such as the avatar object 6 and the enemy object 23 are arranged.
  • step S06 virtual objects such as the avatar object 6 and the enemy object 23 are arranged in the virtual space 11 or the virtual objects already arranged are arranged based on the analysis result and the object data stored in the memory 820. Make it work.
  • step S06 various game parameter values such as the physical strength of the avatar object 6, the number of magazines that can be used, the number of remaining bullets of the gun, and the remaining number of the enemy object 23 are specified based on the game information.
  • step S06 the object in the virtual space 11 is updated at the predetermined time based on the received operation instruction data, and various game parameter values are updated at the predetermined time based on the received game information.
  • the object arranged in the virtual space 11 also includes the object of the item input by the user 8.
  • step S07 the field of view area 21 according to the current position and orientation of the virtual camera 20 is defined, and the field of view image 1400 corresponding to the field of view area 21 is generated.
  • step S08 the UI image 22 for accepting the item input operation from the user 8 and the parameter image representing the above-mentioned various game parameter values are superimposed on the view image 1400 and displayed on the touch screen 870 (see FIG. 18). ). As a result, the gameplay image of this game is displayed on the touch screen 870.
  • items include magazines of guns used by Avatar Object 6, first aid kits to restore Avatar Object 6, and obstacles such as traffic cones and barricades to thwart enemy Object 23 attacks. ..
  • each item is associated with the amount of virtual currency consumed to put in the item and the points for supporting the avatar object 6.
  • the points associated with an item are set according to the amount of virtual currency consumed to put in the item. For example, the larger the amount of virtual currency consumed, the larger the points are set. There is.
  • the parameter image showing the physical strength of the avatar object 6, the number of magazines that can be used, and the number of remaining bullets of the gun are superimposed and displayed on the upper right of the view image 1400, and the parameter image showing the remaining number of the enemy object 23 is displayed. , It is superimposed and displayed on the upper left of the view image 1400.
  • step S09 it is determined whether or not the item input operation has been performed on the UI image 22 based on the operation input from the touch screen 870.
  • the process proceeds to step S10.
  • step S10 the virtual currency corresponding to the inserted item is consumed from the virtual currencies owned by the user 8. That is, when the item insertion operation is performed, the virtual currency is consumed by the amount corresponding to the item.
  • step S11 a part of the range in the view image 1400 is specified as the item loading range based on the position and orientation (viewpoint) of the virtual camera 20. For example, as shown in FIG. 18B, in a situation where the virtual camera 20 captures the virtual space 11 from the right side of the avatar object 6 at a wide angle, the floor surface in front of the avatar object 6 is specified as the item input range.
  • step S11 the process proceeds to step S12. If the item specified by the item loading operation is a magazine or a first-aid kit, the process proceeds to step S12 without executing the process of step S11.
  • step S12 the item input information is transmitted to the computer 200.
  • the item input information the type of the item specified by the item input operation, the timing to activate the support effect by the item, the amount of points associated with the item, and the ID of the user 8 who performed the item input operation are specified. Contains information to do.
  • the item input information includes information for specifying the item input range (viewpoint of the virtual camera 20).
  • the amount of points associated with the item is managed by the computer 200, the amount of the points may not be included in the item input information.
  • a predetermined effect object 24 different from the inserted item (regardless of the input item) is arranged in the virtual space 11.
  • the effect object 24 is arranged, for example, between the position of the virtual camera 20 and the position of the avatar object 6 in the virtual space 11.
  • the effect object 24 is, for example, a present box.
  • the countdown is started at the same time as the present box is arranged, and the lid is opened when the count value becomes 0. Further, the effect ends at the timing when a predetermined time (2 seconds) has elapsed since the effect object 24 was arranged in the virtual space 11.
  • the object of the item specified by the item input operation receives the operation instruction data corresponding to the object from the computer 200, so that the virtual space 11 defined in each of the plurality of user terminals 800 Is placed in.
  • the effect object 24 is arranged in the virtual space 11 defined by the user terminal 800 in response to the item input operation, and when a predetermined time has elapsed from the arrangement.
  • the item object is placed based on the action order data sent to.
  • the effect object 24 is not arranged in the virtual space 11, and the item object is arranged at the same timing as the item object is arranged in the user terminal 800 on which the item input operation is performed. Is arranged in the virtual space 11.
  • the user 8 can also input and send a comment for the avatar object 6 by operating the user terminal 800.
  • the comment is transmitted to the computer 200 during the viewing period (for example, the period during which the processes of steps S05 to S14 are executed).
  • the computer 200 receives the comment from the user terminal 800, the computer 200 can display the user name on the display 430.
  • the player 5 can input a comment for the comment.
  • the comments input by the user and the player 5 are distributed from the computer 200 to the plurality of user terminals 800. In each user terminal 800, the comment is superimposed on the field of view image 1400 and displayed on the touch screen 870.
  • step S14 it is determined whether or not the viewing end operation has been performed by the user 8 based on the operation input from the touch screen 870. If it is not determined that the viewing end operation has been performed, the process returns to step S05. As a result, every time the operation instruction data is received from the computer 200, the process of controlling the movement and arrangement of the objects is repeatedly executed.
  • the viewing end information is transmitted to the computer 200 in step S15, and then the process is terminated.
  • step S21 it is determined whether or not it is the timing to start the stage of this game based on the game parameter indicating the progress of the game.
  • the process proceeds to step S22.
  • step S22 based on the viewing start information transmitted from the user terminal 800 at the start of viewing (step S02 in FIG. 20) and the viewing end information transmitted from the user terminal 800 at the end of viewing (step S15 in FIG. 20). , The current number of viewers, that is, the number of user terminals 800 currently viewing the game.
  • the point adjustment amount for adjusting the points associated with the item input by the user 8 in the plus (increasing) direction is specified according to the number of viewers. Specifically, as the number of viewers increases, the point adjustment amount is increased. For example, when the number of viewers is 0, the point adjustment amount is set to increase by 0%, and when the number of viewers is 1 or more and less than 100, the point adjustment amount is set to increase by 5%. When the number is 101 or more and less than 200, the point adjustment amount is set to increase by 10%, and when the number of viewers is 201 or more, the point adjustment amount is set to increase by 20%.
  • the avatar object 6 can acquire an item by performing a gacha operation when the given points reach a predetermined value. By using the acquired item, the avatar object 6 can increase the possibility of satisfying the achievement condition, and can make the progress of the game advantageous to the player.
  • step S24 the difficulty level of the stage starting from now and the degree of the support effect for supporting the avatar object 6 are adjusted according to the number of viewers who watch the stage. Specifically, regarding the difficulty level of the stage, as the number of viewers increases, the combat ability and appearance amount of the enemy object 23 are increased, and the combat ability of the avatar object 6 is decreased, so that the achievement condition becomes difficult to be established. Adjust so that. Regarding the degree of support effect, as the number of viewers increases, the amount of recovery of the remaining number of bullets of the gun or the amount of recovery of the physical strength of the avatar object 6 is reduced, and the size, strength, weight, etc. of obstacles are reduced. By doing so, the support effect is reduced.
  • the fighting ability and appearance amount of the enemy object 23, the fighting ability of the avatar object 6, the recovery amount of the remaining number of guns, the recovery amount of the physical strength of the avatar object 6, and the obstacle Set the size, strength, and weight to the initial values.
  • the fighting ability and appearance amount of the enemy object 23 are set to 5% higher than the initial value, and the fighting ability of the avatar object 6 is 5% compared to the initial value.
  • the fighting ability and appearance amount of the enemy object 23 are set to 10% higher than the initial value, and the fighting ability of the avatar object 6 is 10% of the initial value.
  • the fighting ability and appearance amount of the enemy object 23 are set to increase by 20% from the initial value, and the fighting ability of the avatar object 6 is set to decrease by 20% from the initial value.
  • the amount of recovery of the remaining number of bullets of the gun, the amount of recovery of the physical strength of the avatar object 6, the size, strength, and weight of the obstacle are set to 20% less than the initial values.
  • the combat ability of the enemy object 23 is determined by, for example, the movement speed (agility) of the enemy object 23 and the physical strength at the start of the battle at the current stage. Further, the appearance amount of the enemy object 23 is defined by, for example, the total number of enemy objects 23 appearing in the current stage and the appearance frequency of the enemy objects 23 in the current stage.
  • the combat ability of the avatar object 6 is defined by, for example, the movement speed (agility) of the avatar object 6, the physical strength at the start of the battle at the current stage, the correction value depending on the type of weapon / armor to be equipped, and the like.
  • step S24 When the process of step S24 is completed, the process proceeds to step S25. If it is not determined in step S21 that the stage has started, the process proceeds to step S25 without executing the processes of steps S22 to S24.
  • step S25 it is determined whether or not the item input information has been received from the user terminal 800 based on the input from the communication IF 250.
  • the process proceeds to step S26, and support points are given to the avatar object 6.
  • step S27 when the item input information includes information for specifying the item input range, an arbitrary position within the item input range is specified as the item input position.
  • the central position of the item insertion range may be specified as the item insertion position, and the position in the item insertion range corresponding to the positional relationship between the avatar object 6 and the enemy object 23 (for example, the avatar object).
  • the position between 6 and the enemy object 23 closest to the avatar object 6) may be specified as the item insertion position.
  • step S27 When the process of step S27 is completed, the process proceeds to step S28. If the item input information does not include information for specifying the item input range, the process proceeds to step S28 without executing the process of step S27.
  • step S28 based on the item input information, the type of the item specified by the item input operation and the timing of arranging the item object in the virtual space 11 and activating the support effect are specified. Specifically, the type of the item and the activation timing of the support effect (that is, the timing when the predetermined time has elapsed since the item input information was received) are set in the activation management table (not shown).
  • step S28 it is determined whether or not the activation timing (arrangement timing of the item object) set in the activation management table has arrived, based on a timer (not shown) provided in the computer 200.
  • step S29 If the item input information has not been received yet, or if the item input information has been received but the activation timing has not arrived, it is not determined that the activation timing has arrived in step S29. At this time, the process proceeds to step S31 without executing the process of step S30.
  • step S30 the process proceeds to step S30, and the support effect according to the type of the item set in the activation management table is activated.
  • the user ID of the user who put the item may be distributed to a plurality of user terminals 800.
  • the image representing the user ID is superimposed on the field of view image 1400 and displayed on the touch screen 870.
  • step S30 specifically, if the item is a magazine, the remaining number of bullets of the gun used by the avatar object 6 is recovered to make the game progress advantageous to the player 5, and if the item is a first aid kit, the game progresses. The physical strength of the avatar object 6 is restored to make the game progress advantageous to the player 5. If the item is an obstacle, the object of the obstacle is placed at the item insertion position specified in step S27 among the positions in the virtual space 11, and the game progress is advantageous to the player 5. The number of bullets, the amount of recovery of physical strength, the size, strength, weight, etc. of obstacles are defined according to the degree of the support effect adjusted in step S24. When the process of step S30 is completed, the process proceeds to step S31.
  • step S31 it is determined whether or not the gacha operation is performed by the avatar object 6 based on the input from the controller 300 or the motion sensor 420.
  • the gacha operation becomes possible when the support points given to the avatar object 6 reach a predetermined value.
  • the process proceeds to step S32, and the support points given to the avatar object 6 are consumed to acquire the item.
  • Items acquired by gacha operation include, for example, unique items that are different from the items that can be input by user 8.
  • the items acquired by the gacha operation include items that can be used with or without the support of the user.
  • the item to be acquired may be the same item as the item that can be input by the user 8, or may be an item that can be used with the support of the user 8.
  • step S33 the effect of improving the possibility of establishment (improvement effect of improving the possibility of satisfying the achievement condition) according to the acquired item is activated.
  • the object of the item for example, a knife
  • the avatar object 6 can play against the enemy object 23 by using the object. This can increase the possibility of clearing the game.
  • the power (for example, size) of the object may be defined according to the degree of the support effect adjusted in step S24.
  • step S34 the game is advanced based on the game program. Specifically, the avatar object 6, the enemy object 23, and other objects (including the item object input in step S30) are arranged in the virtual space 11 in a manner corresponding to the difficulty level adjusted in step S24. Update such as moving / changing. In addition, various game parameters such as the physical strength of the avatar object 6, the number of magazines that can be used, the number of remaining bullets of the gun, and the remaining number of the enemy object 23 are initially set or updated according to the difficulty level.
  • step S35 the arrangement / operation of the avatar object 6 and the arrangement / operation of other objects such as the enemy object 23 can be specified based on the object in the virtual space 11 updated in step S34.
  • the operation instruction data is generated, and the operation instruction data is distributed to a plurality of user terminals 800.
  • the operation instruction data for identifying that the object is arranged is delivered in this step.
  • game information including various game parameters initially set or updated in step S34 is generated, and the game information is distributed to a plurality of user terminals 800.
  • the process according to the flowchart shown in FIG. 21 is executed every predetermined time (1/60 second). Therefore, the operation instruction data and the game information are distributed to the plurality of user terminals 800 via the server 600 at the predetermined time intervals. In each user terminal 800, the game play image is displayed on the touch screen 870 based on the operation instruction data and the game information. When the process of step S35 is completed, the process returns.
  • a plurality of game play images of a game that are cleared when the avatar object 6 appearing in the virtual space 11 satisfies a predetermined achievement condition are based on the operation instruction data distributed from the computer 200. It is displayed on each of the user terminals 800 of.
  • the computer 200 specifies the number of user terminals 800 displaying the game play video, that is, the number of viewers, and adjusts the difficulty level of establishing the achievement condition according to the number of viewers.
  • the computer 200 activates the support effect to support the establishment of the achievement condition.
  • the user 8 can be actively involved in the game play by the player 5, and can improve the taste and viewing motivation of the game.
  • the item input operation is an operation involving consumption of the virtual currency owned by the user 8.
  • the user 8 carefully performs the item insertion operation while checking the progress of the game by the avatar object 6 and the support status by the other user 8, and the game is developed more than the case where the item can be input without limit. Can be interesting.
  • the degree of the support effect that supports the establishment of the achievement condition is adjusted according to the number of viewers. Specifically, the larger the number of viewers, the smaller the degree of support effect. As a result, when the number of viewers is large, it can be expected that the support opportunities from the viewers will increase, but the difficulty level will increase and the degree of the support effect will decrease. On the other hand, when the number of viewers is small, it is expected that the support opportunities from the viewers will decrease, but the difficulty level will decrease and the degree of the support effect will increase. As a result, regardless of the number of viewers, it can be expected that the possibility that the player 5 can clear the game converges within a certain range, and the possibility that the player 5 can clear the game is extremely changed according to the number of viewers. It can be prevented from becoming (easy or difficult).
  • points are associated with the item to be inserted, and the points are given to the avatar object 6 by the item insertion operation.
  • the avatar object 6 can throw an item into the virtual space 11 by a gacha operation.
  • the possibility that the player 5 can clear the game is improved by inserting an item by the gacha operation.
  • the amount of adjustment of the points given to the avatar object 6 in the plus direction changes according to the number of viewers. Specifically, as the number of viewers increases, the amount of adjustment in the positive direction is increased. For this reason, in order to increase the number of viewers and earn more points by inputting items, it is possible to motivate the player 5 to distribute higher-level gameplay images and gameplay images that are interesting to the viewers. can.
  • the amount of points associated with the item is set according to the amount of virtual currency consumed when the item is inserted.
  • the feelings of the user 8 (the size of the feelings to support) can be reflected in the amount of points given to the avatar object 6.
  • the game includes a plurality of stages in which achievement conditions are associated with each stage, and the difficulty level of each stage is adjusted according to the number of viewers at the start of the stage. ..
  • the processing load for adjusting the difficulty level can be reduced as compared with the case where the number of viewers is specified at any time and the difficulty level is adjusted even in the middle of the stage.
  • the game is a battle game in which the avatar object 6 plays against the enemy object 23, and the fighting ability of the avatar object 6, the fighting ability of the enemy object 23, and the appearance amount depend on the number of viewers. Is adjusted. Specifically, the smaller the number of viewers, the higher the fighting ability of the avatar object 6, and the larger the number of viewers, the higher the fighting ability of the enemy object 23, and the larger the appearance amount of the enemy object 23. As a result, it is possible to make it difficult to cause a situation in which the player 5 cannot easily clear the game because the number of viewers is small. In addition, the viewer can properly exercise the motive for supporting the player 5.
  • the game progresses in a mode according to the difficulty level, and the game information including the game parameters indicating the progress status of the game is distributed to the user terminal 800.
  • the physical strength of the avatar object 6, the number of magazines that can be used, the number of remaining bullets of the gun, the remaining number of the enemy object 23, and the like can be displayed on the user terminal 800.
  • the game operation is improved and the game play video or the viewer has a higher level.
  • the number of viewers can be further increased, and the motivation for distributing more difficult and high-level gameplay videos works.
  • a virtuous cycle of improvement in game operation ⁇ increase in the number of viewers ⁇ improvement in game operation ⁇ ... is promoted.
  • it becomes difficult for the viewer to predict the development of the game so that the preference of the game play video and the viewer's willingness to watch can be improved.
  • the user terminal 800 displays a gameplay image representing the virtual space 11 of the game on the touch screen 870. Further, when an item input operation for designating an item object to be arranged in the virtual space 11 is received from the user 8, the user terminal 800 of the user 8 transmits the item input information to the computer 200 via the server 600 and at the same time. , The effect image by the effect object 24 is displayed on the touch screen 870.
  • the computer 200 arranges the item in the virtual space at the timing corresponding to the item input information, generates the operation instruction data related to the item, and distributes the operation instruction data to the plurality of user terminals 800 via the server 600.
  • the user terminal 800 which is watching the game, arranges the item object specified by the user in the virtual space 11 based on the operation instruction data.
  • the amount of operation instruction data is much smaller than that of object data, for example, and the time required for generating and transmitting the operation instruction data can be shortened.
  • the effect image by the effect object 24 is displayed until the item object is arranged.
  • the effect image by the effect object 24 is displayed until the item object is arranged.
  • the effect image is displayed by arranging the effect object 24 in the virtual space 11. Therefore, even when an image other than the virtual object (for example, an image representing the user ID of the user 8 who input the item, a comment input by the user or the player, etc.) is superimposed on the view image 1400 and displayed. It is possible to prevent the image other than the superimposed virtual object from being hidden by the effect object 24 so that it cannot be confirmed, and it is possible to prevent the preference of the game play image from being lowered.
  • an image other than the virtual object for example, an image representing the user ID of the user 8 who input the item, a comment input by the user or the player, etc.
  • the effect object 24 is defined as an object regardless of the type of the input item object. As a result, the processing load of the user terminal 800 can be reduced as much as possible.
  • the display data for displaying the object in the virtual space 11 is not received at the timing of arranging the object in the virtual space 11, but is stored in the storage 830 in advance.
  • Each of the plurality of user terminals 800 viewing the game arranges an item object in the virtual space 11 using the display data based on the operation instruction data. Further, the user terminal 800 on which the item input operation is performed executes the effect by the effect object 24 for a predetermined time.
  • the item input information includes the timing at which the effect by the effect object 24 ends (the timing at which the support effect is activated), and the user terminal 800 sends the item input information to the server 600 when the item input operation is received. It is transmitted to the computer 200 via.
  • the computer 200 arranges the item object in the virtual space 11 at the timing specified from the item input information, generates the operation instruction data, and transmits it to each of the plurality of user terminals 800.
  • the item object can be arranged in the virtual space 11 at the same time as the effect by the effect object 24 is completed. That is, the effect of the effect object 24 and the arrangement of the item objects can be seamlessly connected.
  • the user terminal 800 arranges the virtual camera 20 in the virtual space 11 and displays the field of view image 1400 representing the field of view of the virtual camera 20 on the touch screen 870.
  • the user terminal 800 specifies the item loading range according to the range of the view image 1400, and transmits the item loading information including the item loading range to the computer 200 via the server 600.
  • the item object can be placed in the field of view of the virtual camera 20.
  • the item input range is changed according to the position and orientation of the virtual camera 20 by the user's operation. This enables strategic support such as throwing an obstacle object at a position between the avatar object 6 and the enemy object 23.
  • the position where the thrown item object is placed is determined by the computer 200 from the item throwing range.
  • the computer 200 can determine the position in consideration of the positional relationship with other objects already arranged, and can deliver the operation instruction data for specifying the determined position. As a result, it is possible to prevent an unexpected collision or interference between the item object input by the operation of the user 8 and another object already arranged.
  • the amount of points given to the avatar object 6 is changed according to the number of viewers.
  • the predetermined value that the avatar object 6 needs to reach in order to perform the gacha operation may be changed according to the number of viewers.
  • the timing at which the effect by the effect object 24 ends is included in the item input information, and when the user terminal 800 receives the item input operation, the item input information is transmitted to the user terminal 800 via the server 600. Send to computer 200.
  • the end timing of the effect is not included in the item input information, and when the effect ends (when a predetermined time has elapsed), the item input information is transmitted to the computer 200 via the server 600. May be good.
  • the computer 200 may arrange the corresponding item when the item input information is received, and generate / distribute the operation instruction data. The amount of operation instruction data is much smaller than that of object data.
  • the item object is arranged in the virtual space 11 almost at the same time as the end of the effect by the effect object 24, and the operation instruction data is distributed to each of the plurality of user terminals 800. Can be sent. Further, if the effect time by the effect object 24 is fixed and the effect time is known on the computer 200 side, the effect time does not need to be included in the item input information, but at the same time as the end of the effect by the effect object 24.
  • the item object can be arranged in the virtual space 11 and the operation instruction data can be transmitted to each of the plurality of user terminals 800.
  • the virtual currency owned by the user 8 is consumed.
  • the consumption amount of the virtual currency may be changed according to the number of viewers. Even when the same item is introduced, for example, as the number of viewers increases, more virtual currency may be required (consumption increases). In this case, the amount of points associated with the item may be fixedly set regardless of the amount of virtual currency consumed.
  • the number of viewers on the current stage is not displayed on the gameplay video.
  • the number of viewers may be displayed on the gameplay video.
  • information that can specify the difficulty level according to the number of viewers may be displayed on the game play video.
  • the player 5 wears the HMD set 110 and controls the operation of the avatar object 6.
  • the player 5 may display the avatar object 6 on a stationary monitor such as a monitor for a desktop PC, and control the operation of the avatar object 6 by a hand controller or a keyboard.
  • the avatar object 6 may be displayed on the screen of the mobile information terminal, and the operation of the avatar object 6 may be controlled by a touch operation on the screen.
  • the item object is thrown into the virtual space 11 in response to the tap operation on the icon on the UI image 22.
  • the item object may be thrown into the virtual space 11 in response to a flick operation or a swipe operation.
  • the item input range may be specified based on the mode of the flick operation (operation direction) and the mode of the swipe operation (speed, touch operation time or distance).
  • the item object may be input to the virtual space 11 in response to a voice input instead of a touch operation on the screen.
  • the item input range is specified in the user terminal 800, and any position in the item input range is specified as the item input position in the computer 200.
  • the position (item insertion position) itself at which the item object to be input is placed on the user terminal 800 may be directly specified.
  • the item throwing position is set based on the mode of the flick operation or swipe operation (speed, touch-operated time or distance). You may try to specify.
  • the item insertion position after selecting the item you want to insert by touch operation, you can continuously touch the position where you want to place the item, or move the item you want to insert to the position where you want to place the selected touch operation position. It may be specified by canceling it.
  • the viewpoint of the virtual camera 20 when the viewpoint change operation is performed, the viewpoint of the virtual camera 20 is changed, but at this time, in response to a specific viewpoint change operation (touch operation to a predetermined viewpoint change icon, etc.).
  • the viewpoint of the virtual camera 20 may be set to the viewpoint of the avatar object 6 or the viewpoint of the enemy object 23. Further, when the viewpoint is the viewpoint of the enemy object 23 and the enemy object 23 is defeated, the viewpoint of the virtual camera 20 is placed at the initial position or set to the viewpoint of another enemy object 23. You may do so.
  • the fighting ability of the avatar object 6 or the enemy object 23 is defined based on the physical strength at the start of the battle of the current stage, and the physical strength is increased or decreased according to the number of viewers.
  • the amount of decrease in the physical strength due to damage may be increased or decreased according to the number of viewers.
  • the enemy object 23 is a non-player object that operates according to the game program and cannot be directly operated by the player 5.
  • the enemy object 23 may be a player object that can be directly operated by another player 5.
  • the property of the enemy object 23 may be different for each stage, such that a certain enemy object 23 becomes a player object in a certain stage and a non-player object in another stage.
  • the enemy object 23 may be a player object that can be operated by a certain user using a user terminal.
  • the amount of adjustment of the points given to the avatar object 6 in the plus direction increases as the number of viewers increases. However, as the number of viewers decreases, the adjustment amount in the positive direction may be increased. In this case, the user 8 is motivated to actively support the unpopular avatar object 6 and have the player 5 remember the user 8.
  • an effect object 24 such as a predetermined present box regardless of the inserted item is arranged in the virtual space 11 on the user terminal 800. I am doing it.
  • the object of the inserted item may be displayed at a predetermined position instead of the effect object 24.
  • the effect by the effect object 24 ends, and the object based on the operation instruction data distributed from the computer 200 is arranged in the virtual space 11.
  • the timing of arranging the object of the item input by the user 8 in the virtual space 11 is a computer in both the user terminal 800 on which the item input operation is performed and the other user terminal 800. It is specified based on the action instruction data delivered from 200.
  • the arrangement timing can be specified without being based on the operation instruction data. Therefore, the item object may be arranged in the virtual space 11 by executing different processes between the user terminal 800 that has performed the item input operation and the other user terminal 800. Specifically, for the user terminal 800 that has performed the item loading operation, the process of arranging the item object after a predetermined time from the item loading operation is performed, while for the other user terminals 800, the operation delivered from the computer 200. The process of arranging the item object may be performed based on the instruction data.
  • a plurality of stages are prepared, and the difficulty level of the game is adjusted according to the number of viewers when each stage is started.
  • the number of viewers may be grasped in real time (or at regular time (1 minute) intervals), and the difficulty level may be adjusted even in the middle of the stage.
  • the operation of the user 8 (item input operation, etc.) supports the establishment of the achievement condition in the game progressed by the avatar object 6.
  • the operation of the user 8 may exert an inhibitory action (which is disadvantageous to the player 5) to hinder the establishment of the achievement condition in the game progressed by the avatar object 6.
  • an emergency box is provided to the enemy object 23 in the above embodiment to recover the game parameters related to the physical strength of the enemy object 23, or an ax or a hoe that can be used by the enemy object 23. Is thrown into the virtual space 11 to increase the game parameters related to the attack power of the enemy object 23, thereby hindering the progress of the game by the avatar object 6 (that is, making the progress of the game disadvantageous to the player 5). May be good.
  • the number of viewers is classified in units of 100, and as the number of viewers increases in the range of 200 or less, the amount of increase in difficulty increases.
  • the amount of increase in difficulty does not necessarily correspond to the increase in the number of viewers. That is, the amount of increase in difficulty when the number of viewers is 1 or more and less than 100 may be larger than the amount of increase in difficulty when the number of viewers is 101 or more and less than 200.
  • the difficulty level is not limited to the one adjusted in units of 100 viewers, but may be adjusted in units of one viewer, and the larger the number of viewers, the larger the unit (0 to 0). It may be adjusted by 10 people, 11 people to 50 people, 51 people to 150 people, 151 people to 300 people, etc.).
  • the difficulty level is defined based on the fighting ability and appearance amount of the enemy object 23 and the fighting ability of the avatar object 6.
  • items such as a magazine, an emergency box, and an obstacle are provided as items that can be input by the user 8.
  • the difficulty level is based on the number of blocks required to satisfy the achievement conditions, the size of the blocks, the type of blocks, and the like.
  • a hammer or a bomb for destroying an obstructive object may be provided.
  • the difficulty level is an escape support item that suggests the variety of arrangements in the room, the position of the key to escape, and the location of the key.
  • Any of the escape support items may be provided as an item that can be input by the user 8 by specifying based on the number of items and the like. In this case, the degree of support effect is determined based on the number of escape support items that can be input.
  • the effect object 24 is arranged so that the effect image is displayed at a position that does not overlap with the avatar object 6 and does not impair the visibility of the avatar object 6. .
  • the effect object 24 may be arranged so as to be displayed at a position partially overlapping with the avatar object 6, or may be a transparent object (for example, a translucent object).
  • the effect image is displayed by arranging the effect object 24 in the virtual space 11.
  • the effect image may be displayed on the touch screen 870 by superimposing the effect image on the view image 1400.
  • the item input information includes information for specifying the item input range.
  • the information for specifying the viewpoint of the virtual camera 20 may be included in the item input information.
  • the arrangement and the arrangement timing can be specified at the stage before the item object is arranged.
  • the operation instruction data for the purpose may be generated and distributed to the user terminal 800.
  • the operation instruction data includes information for specifying the timing for arranging the item object in addition to the information for specifying the arrangement / operation of the item object.
  • the user terminal 800 arranges an object in the virtual space 11 shown in FIG. 14 at the timing.
  • the computer 200 distributes operation instruction data to a plurality of user terminals 800 at predetermined time intervals.
  • the operation instruction data may be delivered when the object changes in the virtual space 11 shown in FIG.
  • step S23 when giving support points to the avatar object 6, the amount of points included in the item input information is corrected based on the point adjustment amount specified in step S23. ..
  • the point adjustment amount specified in step S23 is included in the game information and distributed to the user terminal 800, and the point adjustment amount (or the adjusted point) is superimposed and displayed on the view image 1400 according to the item. You may do it. In this case, the user can grasp how much the points given to the avatar object 6 are adjusted (or the adjusted points) before the item insertion operation.
  • the difficulty level of the game is adjusted by the computer 200
  • the difficulty level is included in the game information and distributed to the user terminal 800, superimposed on the view image 1400, and displayed by the user.
  • the types and numbers of items that can be inserted by 8 may be different depending on the difficulty level.
  • the difficulty level is adjusted according to the number of viewers at the start of each stage.
  • the difficulty level may be adjusted according to the number of viewers at the start of the stage, with one stage prepared for the game.
  • the difficulty level may be adjusted according to the number of viewers at a predetermined timing in the progress of the game.
  • the user 8 requests the progress of the completed live distribution part even after the real-time live distribution in the live game progress part (hereinafter, also referred to as the live distribution part) is once completed.
  • the live distribution part can be advanced again based on the received operation instruction data.
  • the user 8 can look back at the live distribution again, and even if he / she misses it, he / she can see the live distribution again.
  • the scene after the end of the live distribution time is assumed.
  • the user terminal 800 is configured to execute the following steps in order to improve the interest of the game based on the game program 831.
  • the user terminal 800 (computer) has a step of requesting the progress of the completed live distribution part via an operation unit such as an input unit 8701, and the server 600 to the completed live distribution part.
  • a step of receiving the recorded action instruction data and a step of advancing the completed live distribution part by operating the avatar object 6, the enemy object 23, etc. based on the recorded action instruction data are executed.
  • the recorded action instruction data includes information for specifying the arrangement, action, and the like of objects such as the avatar object 6 and the enemy object 23.
  • the recorded operation instruction data is preferably stored in the storage unit 6200 of the server 600, and is preferably delivered to the user terminal 800 again in response to a request from the user terminal 800.
  • the progress of the completed live distribution part based on the recorded operation instruction data is different depending on the result of whether or not the user 8 has progressed the live distribution part in real time. Specifically, when it is determined that the user 8 has a track record of advancing the live distribution part in real time, the same live distribution part as that in which the user 8 has advanced the live distribution part in real time is performed again. It is better to let it (return delivery). In return delivery, it is better to perform a selective progression of the live delivery part. On the other hand, when it is determined that the user 8 does not have a track record of advancing the live distribution part in real time, it is better to advance the live distribution part in a progress mode different from the progress in real time (missed distribution).
  • the real-time live distribution part can be advanced. Despite this, it includes cases where this was not actually done. For missed deliveries, it's a good idea to perform a limited progression of the live stream part.
  • the game progress unit 8105 when it is determined that the user 8 has a track record of advancing the live distribution part in real time, the game progress unit 8105 further receives the user action history information in the live distribution part. And analyze.
  • the user action history information is a data set of user 8 action records received by an input operation during the progress of the live distribution part, apart from the contents of the recorded action instruction data.
  • the user action history information is often associated with the recorded action instruction data, and is preferably stored in the storage unit 6200 of the server 600 or the storage unit 2200 of the character control device 110. In addition to or instead of this, the user action history information may be stored in the storage unit 8200 of the user terminal 800.
  • FIG. 22 is a diagram showing an example of a data structure of operation instruction data processed by the game system 100 according to the present embodiment.
  • the action instruction data includes each item of "destination” and “creator” which is meta information, and "object ID”, "voice”, “movement”, “position”, and “position” which are the contents of the data. It is composed of each item of "posture” and "direction”.
  • the data structure of the operation instruction data shown in FIG. 22 is only an example. For example, at least one data of the items "position”, “posture” and “orientation” may be included in the item "movement".
  • the destination designation information is stored in the item "destination".
  • the destination designation information is information indicating to which device the operation instruction data is transmitted.
  • the destination designation information may be, for example, an address unique to the user terminal 800, or may be identification information of the group to which the user terminal 800 belongs.
  • the destination designation information may be a symbol (for example, "ALL") indicating that all user terminals 800 satisfying a certain condition are the destinations.
  • the creation source information is stored in the item "creation source".
  • the creation source information is information indicating which device created the operation instruction data.
  • the creation source information is information related to a user (hereinafter referred to as user-related information) that can identify a specific user, such as a user ID, a user terminal ID, and a unique address of the user terminal.
  • the creation source information may be an ID or an address indicating the server 600 or the character control device 110. When the creation source is the server 600 or the character control device 110, the value of the item may be left empty, or the item itself may not be provided in the operation instruction data.
  • the item "object ID” stores an object ID for uniquely identifying an object (avatar object 6, enemy object 23, etc.) appearing in this game.
  • the object ID stored here represents which object the action instruction data is for instructing the action of which object.
  • the item "voice” stores data related to voice to be emitted by the object.
  • Motion data that specifies the movement of the object is stored in the item "movement”.
  • the motion data may be motion capture data acquired by the character control device 110 via the motion sensor 420 or the like.
  • the items "position”, “posture”, and “orientation” store position data, attitude data, and orientation data that specify the position, orientation, and orientation of the object, respectively.
  • the voice data, the motion data, the position data, the posture data, and the orientation data may be included in the operation instruction data in a state of being synchronized with each other.
  • the game progress unit 8105 of the user terminal 800 can operate the object appearing in the game as intended by the creator of the operation instruction data. Specifically, when the operation instruction data includes voice data, the game progress unit 8105 causes the object to speak based on the voice data. Further, when the motion data includes motion data, the game progress unit 8105 moves the object based on the motion data, that is, generates an animation of the object so as to move based on the motion data. do. If the motion instruction data includes position data, posture data, and orientation data, the game progress unit 8105 arranges an object based on these data. Needless to say, the structure of the operation instruction data described above is also applicable to the first embodiment. Further, the structure of the operation instruction data described above is merely an example, and the structure is not limited thereto.
  • FIG. 23 is a diagram showing an example of a data structure of user behavior history information.
  • the user action history information includes items such as the action time, the action type, and the action details that the user has acted in the live distribution part, and is associated with the user ID that identifies the user 8.
  • the item “action time” is the time information in which the user 8 performed an action in the live distribution part
  • the item “action type” is a type indicating the user's action
  • the item “behavior details” is the action of the user 8. It is a concrete content.
  • the action specified by the items "behavior type” and “behavior details” may include actions such as inputting items (magazine, first aid kit, obstacle, etc.) and inputting comments by the input operation of the user 8.
  • Such an action may include selection of a time for later playing back a specific progress portion of the live distribution part (for example, a recording operation of the specific progress portion).
  • such actions may include the purchase of virtual currency in the live distribution part, the acquisition of rewards, points, and the like.
  • the user action history information is preferably associated with each other between the data structure of the action instruction data and the data structure of the game information described later in FIG. 24. It should be understood by those skilled in the art that these data structures are merely examples and are not limited thereto.
  • FIG. 24 is a diagram showing an example of the data structure of the game information 132 processed by the system 100 according to the present embodiment.
  • the items provided in the game information 132 are appropriately determined according to the genre, nature, content, etc. of the game, and the exemplary items do not limit the scope of the present invention.
  • the game information 132 is configured to include each item of "play history”, “item”, “delivery history”, and "game object". Each of these items is appropriately referred to when the game progress unit 8105 advances the game.
  • the play history of the user 8 is stored in the item "play history".
  • the play history is information indicating whether or not the play of the user 8 is completed for each live distribution part.
  • the play history may include a list of livestream parts. Statuses such as “played”, “unplayed”, “playable”, and “unplayable” are associated with each live distribution part.
  • the item "item” stores a list of items owned by the user 8 as a game medium.
  • the item may be, for example, a magazine for supporting the avatar object 6, a first aid kit, an obstacle, or the like.
  • the item "Distribution history” stores a list of game videos, so-called back numbers, that were live-distributed by the user 5 who is the distributor in the past in the live distribution part.
  • the game video that is PUSH distributed in real time can be viewed only at that time.
  • the game video for the past distribution is recorded on the server 600, and can be PULL distributed in response to a request from the user terminal 800.
  • the back number may be made available for download by the user 8 for a fee.
  • the item "game object” stores data of various objects such as an avatar object 6, an enemy object 23, and an operation object such as a virtual hand operated by the controller 300.
  • FIG. 25 is a flowchart showing an example of the basic game progress of a game executed based on the game program according to the present embodiment. The processing flow is applied to the scenes after the end of the live distribution time when the real-time live distribution part has already been completed.
  • step S40 the input unit 8701 of the user terminal 800 newly requests the progress of the completed live distribution part.
  • step S42 in response to the request in step S40, the user terminal 800 receives recorded operation instruction data related to the completed live distribution part from the server 600.
  • the recorded action instruction data includes data related to the action of the avatar object 6 during the live delivery part (for example, motion data and voice data input by the user 5), data related to the action of the enemy object 23 during the live delivery part, and the like. ..
  • the user terminal 800 may receive various progress record data recorded along with the action of the user 8 during the progress of the real-time live distribution part.
  • the progress record data may include viewer behavior data regarding the behavior of the user 8 who participated in the real-time live distribution part.
  • the viewer behavior data is data including a record of the behavior of all users 8 (that is, the viewers who participated in the live) during the live, in which the real-time live distribution part is advanced in real time.
  • the viewer behavior data should include items input by the viewer (user 8) in real time during the live performance, and messaging contents such as text messages and icons transmitted in real time.
  • the progress record data it is possible to faithfully reproduce the reaction of the viewer in the live distribution part that has progressed in real time, and it is possible to faithfully reproduce the reaction of the viewer in the live space in real time.
  • the sense of presence can be further improved.
  • the recorded operation instruction data and progress record data may be received by the user terminal 800 as separate data, and each may be analyzed (rendered).
  • the server 600 or the character control device 110 may combine pre-recorded operation instruction data and viewer behavior data, and the user terminal 800 may receive the combined data set at one time. By receiving the combined data set, it is possible to reduce the load of subsequent data analysis (rendering) by the user terminal 800.
  • the progress record data is combined with the recorded action instruction data (that is, the recorded action order data includes the progress record data).
  • the game progress unit 8105 determines whether or not the user has a track record of progressing the live distribution part in real time. The determination may be performed, for example, based on whether there is a record in which the action instruction data has been transmitted to the user terminal 800. Alternatively, it may be executed based on whether the live distribution part has the status of "played" with reference to the item "play history” shown in FIG. 24. Alternatively, it may be executed based on whether or not the live distribution part has a record of live distribution in the past with reference to the item “distribution history” shown in FIG. 24. In addition to this, when the operation instruction data already recorded is stored in the storage unit 8200 of the user terminal 800, it may be determined that the live distribution part has already been advanced in real time. In addition, the determination may be performed by combining them, or by any other method.
  • step S44 If it is determined in step S44 that the user 8 has a track record of advancing the live distribution part in real time (YES), the progress of the completed live distribution part is "return distribution". On the other hand, when it is determined in step S44 that the user 8 has no record of advancing the live distribution part in real time (NO), the progress of the completed live distribution part is "missed distribution". As mentioned above, the user experience is different between "return delivery” and "missed delivery”.
  • step S44 If it is determined in step S44 that the user 8 has a track record of advancing the live distribution part in real time, the processing flow proceeds from YES in step S44 to step S46.
  • step S46 the game progress unit 8105 acquires the user action history information of the live distribution part shown in FIG. 23 and analyzes it.
  • the user action history information may be acquired from the server 600, or may be used directly when it is already stored in the storage unit 8200 of the user terminal 800.
  • step S48 the game progress unit 8105 executes the re-progress of the completed live distribution part (that is, the above-mentioned “return distribution”).
  • the recorded operation instruction data and the user action history information analyzed in step S46 are used to re-progress the live distribution part.
  • the user terminal 800 that displays the game play video of the real-time distribution in real time can obtain the recorded data regarding the operation of the avatar object 6 associated with the user 5 that appeared in the game in the real-time distribution from the external device after the real-time distribution. Receive.
  • the user terminal 800 has recorded data regarding the operation of the avatar object 6 and recorded data regarding the behavior of the user 8 of the user terminal 800 in real-time distribution (for example, data included in the above-mentioned user behavior history information). And, to generate and play a gameplay video.
  • the operation mode of the avatar object 6 may be associated with an action such as an item input by the user of the user terminal 800 in the real-time live distribution part. For example, if the user 8 has thrown an item (for example, a first aid kit) to support the avatar object 6 in the real-time live distribution part, the avatar object 6 is operated based on the item (for example, the avatar object). Restores the physical strength of 6 at the specified activation timing).
  • the effect by the effect object 24 executed in the real-time live distribution part may also be executed in the return distribution.
  • the live distribution part may be re-progressed. That is, the re-progress of the real-time live distribution part reflects the user action history information, is the same as the live distribution part that has progressed in real time, and is unique to the user.
  • the live distribution part will be re-progressed.
  • the user 8 specifies a specific action time, and the live distribution part is selectively selected from the data.
  • the user 8 inputs a comment 2 minutes and 45 seconds after the start of the live distribution part, the user 8 specifies the timing after 2 minutes and 45 seconds, and the user 8 advances the live distribution part again. Can be done.
  • re-progress is executed based on the "action time" corresponding to the record of actions such as inputting items and purchasing virtual currency by the input operation of user 8. It should be possible.
  • the user 8 if the user 8 who is a viewer has selected a specific progress part by an input operation among the live distribution parts progressed in real time, it is selected in the re-progress of the live distribution part. Only a specific progress part can be selectively advanced. As a result, the user 8 can efficiently play back only the specific progress portion of the live distribution part later. Specifically, when the user 8 selects a specific progress part and a record of such an action is registered in the user action history information, the live distribution part is selectively selected by using the data of the action time. Can be advanced. For example, if the user 8 has selected a period of 2 minutes 45 seconds to 5 minutes 10 seconds from the start of the live distribution part, the user 8 can advance the live distribution part over that period again.
  • step S44 determines that the user has no record of advancing the live distribution part in real time
  • the processing flow proceeds from NO in step S44 to step S50.
  • step S50 the game progress unit 8105 executes the limited progress of the completed live distribution part (that is, the above-mentioned “missed distribution”).
  • the reason why the overlooked distribution is restricted is that it can be considered that the user 8 has waived this right even though he / she had the right to receive the live distribution. Therefore, not all of the live distribution is required. Is based on the idea that it is not necessary to reproduce and present to user 8.
  • the progress of the live distribution part is executed using the recorded operation instruction data.
  • the user terminal 800 that does not display the game play video of real-time distribution in real time externally obtains the recorded data regarding the operation of the avatar object 6 associated with the user 5 that appeared in the game in the real-time distribution after the real-time distribution. It may be received from the device. Then, the user terminal 800 may generate and play a distributed game play video using the recorded data regarding the operation of the avatar object 6.
  • the user 8 has thrown in an item (eg, first aid kit) to support the avatar object 6, the item will support the avatar object 6 in the live distribution part that has progressed in real time. A game image was being generated.
  • the operation mode of the avatar object 6 is associated with the action such as the input of the item by the user 8 during the real-time distribution. That is, the avatar object 6 could be supported by throwing in an item such as a first aid kit.
  • the operation mode of the avatar object 6 is not associated with the action such as the input of the item by the user 8. That is, a game image in which the avatar object 6 is supported by the item input by the user 8 of the user terminal 800 that does not display the game play video delivered in real time is not generated.
  • the progress of the completed live distribution part is limited in that it does not reflect the input of items and is not unique to the user 8.
  • the item input in the real-time live distribution part can be reflected in the operation mode of the avatar object 6.
  • the missed delivery there is no such function (however, the item introduced by the other viewer user 8 who was watching the live delivery in real time may be reflected in the operation mode of the avatar object 6 in the missed delivery. good).
  • the retrospective distribution viewing real-time live distribution in the past
  • the missed distribution unlike the live distribution part that progressed in real time, it is better to limit the actions of the user 8 that can be accepted. Specifically, in the live distribution part that progressed in real time, it was possible to accept the input of items, the purchase of virtual currency, etc. by the input operation of the user 8. On the other hand, in the progress of the completed live distribution part, the consumption of such valuable data may be restricted so as not to be accepted. More specifically, in a live distribution part progressed in real time, it is assumed that a user interface (UI) including a button and a screen for executing an item input is displayed on the display unit 8702. In that case, the user 8 can execute the input of the item through such an input operation in the UI. On the other hand, in the overlooked distribution, it is preferable that such a UI is hidden so that the input operation by the user 8 cannot be explicitly performed. As a result, in the return delivery and the missed delivery, the user 8 cannot insert an item for supporting the avatar object 6.
  • UI user interface
  • the user terminal 800 may request the progress of the completed live distribution part again. That is, it is preferable that the return delivery or the missed delivery can be repeatedly executed a plurality of times. In this case, the processing flow returns to step S40.
  • the user 8 can proceed with the live distribution part again in various modes. As a result, the user 8 can re-experience or re-experience the content of the actually delivered game. Therefore, it is possible to increase the user's interest in the game. As a result, the present embodiment has the effect of increasing the immersive feeling of the game and improving the interest of the game.
  • ⁇ Modification 1> whether the progress of the completed live distribution part is a return distribution or a missed distribution is determined based on whether or not the user 8 has a track record of advancing the live distribution part in real time.
  • the user 8 may be configured to be able to select the return delivery or the overlooked delivery. Alternatively, regardless of the presence or absence of the above-mentioned achievements, only the overlooked distribution may be provided to the user.
  • the progress of the completed live distribution part may be requested again. That is, the return delivery or the missed delivery could be repeatedly executed a plurality of times.
  • the second and subsequent return delivery or missed delivery correspond to the record of the previous return delivery or missed delivery.
  • the first delivery history data is stored in the storage unit 6200 of the server 600. After that, when the recorded operation instruction data related to the completed live distribution part is requested again from the user terminal 800, the first distribution history data is distributed from the server 600 together with the recorded operation instruction data.
  • the received first delivery history data is referred to, and if the first return delivery or the missed delivery is performed halfway, the user terminal 800 will perform the second return delivery or the second return delivery from the continuation. Resume the progress of overlooked delivery. As a result, the user 8 can efficiently execute the return delivery or the missed delivery.
  • the return delivery should be executed from the second time onward, and if the first delivery is a missed delivery, the missed delivery should be executed from the second time onward. Further, when the recorded operation instruction data already exists in the user terminal 800, the user terminal 800 may not receive the recorded operation instruction data again. As a result, the amount of data received by the user terminal 800 can be saved.
  • Step S44 in FIG. 25 when it is determined that the user 8 has progressed the live distribution part halfway in real time, it is preferable to restart the progress of the completed live distribution part from the continuation.
  • the record of how far the user 8 has advanced the live distribution part in real time can be determined from the user behavior history information described above in FIG. 23. That is, in the user behavior history information, it is recorded to what time the user 8 has progressed with respect to the specific live distribution part.
  • the resumption of the completed live distribution part should be a missed distribution, which is a limited progress. As a result, the user 8 can efficiently execute the overlooked distribution.
  • FIG. 26 shows an example of a screen displayed on the display unit 8702 of the user terminal 800 based on the game program according to the present embodiment, and an example of a transition between these screens.
  • screens include a home screen 8000A, a live selection screen 8000B for live distribution, and a missed selection screen 8000C for missed distribution.
  • the transition from the home screen 8000A to the live selection screen 8000B is possible.
  • the live selection screen 8000B can be changed to the home screen 8000A and the overlooked selection screen 8000C.
  • the actual distribution screen (not shown) is transitioned from the live screen 8000B and the overlooked selection screen 8000C.
  • the home screen 8000A displays various menus for advancing the live distribution part on the display unit 8702 of the user terminal 800.
  • the game progress unit 8105 receives an input operation for starting the game, the game progress unit 8105 first displays the home screen 8000A.
  • the home screen 8000A includes a "live" icon 8020 for transitioning to the live selection screen 8000B.
  • the game progress unit 8105 Upon receiving an input operation for the "live" icon 8020 on the home screen 8000A, the game progress unit 8105 causes the display unit 8702 to display the live selection screen 8000B.
  • the live selection screen 8000B presents the live information that can be distributed to the user 8.
  • the live selection screen 8000B displays a list of one or more live notification information for notifying the user 8 of the live distribution time and the like in advance.
  • the live announcement information includes at least the live delivery date and time.
  • the live announcement information may include free / paid live information, an advertisement image including an image of an avatar object appearing in the live, and the like.
  • the live selection screen 8000B may display the notification information regarding the live distribution to be distributed in the near future on the live selection screen on the pop-up screen 8060.
  • the server 600 searches for one or more user terminals 800 having the right to receive the live distribution.
  • the right to receive livestreaming is conditioned on the fact that the consideration for receiving livestreaming has been paid (for example, holding a ticket).
  • the corresponding live notification information will be displayed on the user terminal 800 that has the right to receive the live distribution.
  • the user terminal 800 accepts a live playback operation, for example, a selection operation for a live that has reached the live distribution time on the live selection screen 8000B (more specifically, a touch operation for a live image). Accordingly, the game progress unit 8105 shifts the display unit 8702 to the actual distribution screen (not shown). As a result, the user terminal 800 can advance the live distribution part and advance the live viewing process in real time.
  • the game progress unit 8105 operates the avatar object 6 in the live distribution part based on the received operation instruction data.
  • the game progress unit 8105 generates a moving image reproduction screen including an avatar object 6, an enemy object 23, etc. that operates based on the operation instruction data in the live distribution part, and displays it on the display unit 8702.
  • the live selection screen 8000B has a "return (x)" icon 8080 for transitioning to the screen displayed immediately before and a "missing delivery” icon 8100 for transitioning to the missed selection screen 8000C on the display unit 8702. It may be displayed.
  • the game progress unit 8105 shifts the screen 8000B to the home screen 8000A in response to an input operation for the “return (x)” icon 8080 on the live selection screen 8000B.
  • the game progress unit 8105 shifts to the missed selection screen 8000C on the screen 8000B for the input operation for the missed distribution icon 810 on the live selection screen 8000B.
  • the overlook selection screen 8000C displays the delivered information related to one or more live delivered in the past, in particular, the delivered information that the user 8 has not actually advanced the live delivery part in real time.
  • the input unit 8701 of the user terminal 800 receives an input operation for the live distribution information displayed on the overlooked selection screen 8000C, for example, the image 8300 including the avatar object that appeared in the live, the game progress unit 8105 ends the live distribution part. Later, you can proceed with the completed livestreaming part again.
  • the delivered information about the live is further delivered with the playback time 812 of each delivered live, the period until the end of delivery (days, etc.) 8140, and how many days before the present. It may include information 8160 indicating whether or not it has been done, a past delivery date and time, and the like.
  • the overlooked selection screen 8000C includes a “back ( ⁇ )” icon 8180 for transitioning to the live selection screen 8000B. In response to the input operation for the "return ( ⁇ )" icon 8180, the game progress unit 8105 transitions to the live selection screen 8000B.
  • the overlooked selection screen 8000C is not limited to this, but it is preferable that the transition is made only from the live selection screen 8000B and not directly from the home screen 8000A.
  • the missed distribution is performed for the user 8 who missed the live distribution, and is only a function accompanying the live distribution function.
  • one of the purposes of this game is to enhance the fun of the game by allowing the user 8 to watch the real-time live distribution, support the character in real time, and deepen the interaction with the character. For this reason, in order to guide the viewer user 8 to watch the live distribution in real time rather than the overlooked distribution in which real-time interaction with the character (delivery side user 5) is not possible, here, the overlooked selection is selected from the home screen 8000A. It is better not to be able to directly transition to the screen 8000C.
  • the distributed information that the user 8 who is the viewer has not progressed the live distribution part in real time is displayed.
  • the delivered information about all the live delivered in the past may be displayed in a list for each live.
  • it is preferable that either the return distribution or the overlooked distribution is executed depending on whether or not the user 8 has progressed the live distribution part in real time. Specifically, when it is determined that the user has a track record of advancing the live distribution part in real time, the above-mentioned return distribution is performed. On the other hand, if it is determined that the user 8 does not have a track record of advancing the live distribution part in real time, the distribution will be overlooked. As described above with respect to FIG. 25, the look-back delivery and the missed delivery can provide different user experiences.
  • Each control block of the control units 2100, 6100, and 8100 may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or by software using a CPU (Central Processing Unit). It may be realized.
  • a logic circuit hardware
  • IC chip integrated circuit
  • CPU Central Processing Unit
  • the information processing unit provided with at least one of the control units 2100, 6100, and 8100 is a CPU that executes instructions of a program that is software that realizes each function, and the above program and various data are computers (or CPUs). It is equipped with a ROM (Read Only Memory) or storage device (these are referred to as “recording media”), a RAM (Random Access Memory) for expanding the above program, and the like. Then, the computer (or CPU) reads the program from the recording medium and executes it, thereby achieving the object of the present disclosure.
  • ROM Read Only Memory
  • storage device these are referred to as "recording media”
  • RAM Random Access Memory
  • a "non-temporary tangible medium" for example, a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used.
  • the program may be supplied to the computer via any transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program. It should be noted that one aspect of the present disclosure can also be realized in the form of a data signal embedded in a carrier wave, in which the above program is embodied by electronic transmission.
  • the method is executed by a viewing terminal capable of displaying a game play video of a game that is cleared by satisfying a predetermined condition.
  • the computer that distributes the data for enabling the display of the game play video on the viewing terminal specifies the number of views of the viewing terminal displaying the game play video in the real-time distribution of the game play video, and views the video.
  • the operation information transmitted from the viewing terminal based on the predetermined operation by the person, it exerts a support action to support the establishment of the predetermined condition, and when the viewing number is the first number, the first number.
  • the support action is changed so as to be smaller than when the second number is smaller than.
  • an avatar associated with a user of the computer in which a viewing terminal that does not display the game play video of the real-time distribution in real time, appears in the game in the real-time distribution from an external device after the real-time distribution. It includes a step of receiving recorded data regarding the movement of the object and a step of generating and playing a distributed gameplay video using the recorded data regarding the movement of the avatar object.
  • the operation mode of the avatar object in the real-time distribution, may be associated with the item input by the viewer during the real-time distribution. In the step of generating and playing the distributed gameplay video, the operation mode of the avatar object is associated with the behavior of the viewer of the viewing terminal who did not display the gameplay video of the real-time distribution in real time. It does not have to be.
  • the difficulty level for satisfying the predetermined condition may be adjusted according to the number of viewers.
  • the difficulty level may be adjusted according to the number of viewers when the game is started.
  • the method is executed by a viewing terminal capable of displaying a gameplay image of a game that is cleared by satisfying a predetermined condition.
  • the computer that distributes the data for enabling the display of the game play video on the viewing terminal specifies the number of views of the viewing terminal displaying the game play video in the real-time distribution of the game play video, and views the video.
  • the operation information transmitted from the viewing terminal based on the predetermined operation by the person, it exerts a support action to support the establishment of the predetermined condition, and when the viewing number is the first number, the first number.
  • the support action is changed so as to be smaller than when the second number is smaller than.
  • the viewing terminal displaying the game play video of the real-time distribution in real time is an avatar object associated with the user of the computer, which appears in the game in the real-time distribution from an external device after the real-time distribution.
  • a game play image using the step of receiving the recorded data regarding the operation, the recorded data regarding the operation of the avatar object, and the recorded data regarding the behavior of the viewer of the viewing terminal in the real-time distribution. Includes steps to generate and play.
  • the operation mode of the avatar object in the real-time distribution, may be associated with the item input by the viewer during the real-time distribution. In the step of generating and playing the game play video, the operation mode of the avatar object may be associated with the behavior of the viewer of the viewing terminal displaying the game play video of the real-time distribution in real time.
  • the recorded data regarding the action may include time information.
  • the step of generating and playing the gameplay video may include a step of advancing the gameplay video according to the designation of the time information by the viewer in the real-time distribution.
  • the action may include the selection of a specific progress portion by the viewer in the real-time distribution.
  • the step of generating and playing the game video may include a step of executing the progress of only the selected specific progress portion.
  • the viewing terminal may include a display unit.
  • the display unit has a first screen that displays a menu related to the real-time distribution, a second screen that is transitioned from the first screen and displays information related to real-time distribution that can be viewed, and information related to the distributed gameplay video. It may be configured to be able to display a third screen for displaying. The third screen may be configured so as to be transitioned from the second screen and not transitioned from the first screen.
  • the method may include a step of transitioning from the second screen to the third screen when the viewing terminal receives an input operation by the viewer for the second screen. ..
  • computer-readable media stores computer-executable instructions.
  • the user terminal viewing terminal
  • the information processing apparatus executes the program and a storage unit that stores a program including the step of any one of (Item 1) to (Item 9). It is provided with a control unit that controls the operation of the information processing apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

アイテムの投入などの応援を視聴者に対して喚起することができる配信プログラム、配信方法、配信サーバおよび視聴端末を提供する。 方法は、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される。視聴端末においてゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、ゲームプレイ映像のリアルタイム配信において、ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき視聴端末から送信される操作情報を受信したことに応じて、所定条件の成立を支援する支援作用を及ぼし、視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも支援作用が小さくなるように変化させる。方法は、リアルタイム配信のゲームプレイ映像をリアルタイムで表示しなかった視聴端末が、リアルタイム配信後に、外部装置から、リアルタイム配信においてゲームに登場した、コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、アバターオブジェクトの動作に関する記録済みのデータを用いて、配信済みのゲームプレイ映像を生成して再生するステップとを含む。

Description

方法、コンピュータ可読媒体、および情報処理装置
 本開示は、方法、コンピュータ可読媒体、および情報処理装置に関する。
 特許文献1には、ライブ動画を視聴端末に配信する情報処理システムが記載されている。
特開2012-120098号公報
 しかしながら、上述の従来技術には、コンテンツに対する視聴者の好趣性をより高めることができる余地がある。
 本発明は、かかる実情に鑑み考え出されたものであり、その目的は、コンテンツに対する視聴者の好趣性をより高めることができる、配信プログラム、配信方法、コンピュータ、および視聴端末を提供することである。
 本開示の一態様は、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される方法である。前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させる。上記方法は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示しなかった視聴端末が、前記リアルタイム配信後に、外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、前記アバターオブジェクトの動作に関する前記記録済みのデータを用いて、配信済みのゲームプレイ映像を生成して再生するステップとを含む。
 本開示の別の態様は、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される方法である。前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させる。上記方法は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示した視聴端末が、前記リアルタイム配信後に、外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、前記アバターオブジェクトの動作に関する前記記録済みのデータと、前記リアルタイム配信における前記視聴端末の視聴者の行動に関する記録済みのデータとを用いて、ゲームプレイ映像を生成して再生するステップとを含む。
 本開示の別の態様は、コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、当該コンピュータ実行可能命令は、実行されると、前記視聴端末に、上記方法を実行させる、コンピュータ可読媒体である。
 本開示の別の態様は、情報処理装置であって、上記方法のステップを含むプログラムを記憶する記憶部と、前記プログラムを実行することにより前記情報処理装置の動作を制御する制御部とを備える、情報処理装置である。
 本開示によれば、コンテンツに対する視聴者の好趣性をより高めることができる。
ある実施の形態に従うHMDシステムの構成の概略を表す図である。 ある実施の形態に従うコンピュータのハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うHMDに設定されるuvw視野座標系を概念的に表す図である。 ある実施の形態に従う仮想空間を表現する一態様を概念的に表す図である。 ある実施の形態に従うHMDを装着するユーザの頭部を上から表した図である。 仮想空間において視界領域をX方向から見たYZ断面を表す図である。 仮想空間において視界領域をY方向から見たXZ断面を表す図である。 ある実施の形態に従うHMDセットにおいて規定される仮想空間と、当該仮想空間に配置されるオブジェクトとの一例を示す図である。 (A)は、ある実施の形態に従うコントローラの概略構成を表す図であり、(B)は、ある実施の形態に従うユーザの右手に対して規定されるヨー、ロール、ピッチの各方向の一例を示す図である。 ある実施の形態に従うサーバのハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うコンピュータをモジュール構成として表わすブロック図である。 ある実施の形態に従うコンピュータのモジュールの詳細構成を表わすブロック図である。 ある実施の形態に従うユーザ端末のハードウェア構成を示す図である。 (A)は、ある実施の形態に従うユーザ端末において規定される仮想空間と、当該仮想空間に配置されるオブジェクトとの一例を示す図であり、(B)は、当該ユーザ端末において表示される視界画像の一例を示す図である。 ある実施の形態に従うHMDシステムに含まれるユーザ端末、サーバおよびHMDセットの機能的構成を示すブロック図である。 ある実施の形態に従うユーザ端末に含まれる仮想空間制御部の詳細な構成を示す図である。 ある実施の形態に従うHMDセットに含まれる仮想空間制御部の詳細な構成を示す図である。 (A)は、ユーザ端末において表示される視界画像の他の一例を示す図であり、(B)は、ユーザ端末において表示される視界画像のその他の一例を示す図であり、(C)は、ユーザ端末において表示される視界画像のさらにその他の一例を示す図であり、(D)は、ユーザ端末において表示される視界画像の他の一例を示す図である。 アイテム投入操作に応じたユーザ端末およびコンピュータの動作の一部を示すタイミングチャートである。 HMDシステムにおいて実行される処理の流れの一部を示すフローチャートである。 HMDシステムにおいて実行される処理の流れの他の一部を示すフローチャートである。 動作指図データのデータ構造の一例を示す図である。 ユーザ行動履歴情報のデータ構造の一例を示す図である。 ゲーム情報のデータ構造の一例を示す図である。 ある実施形態に従うゲームプログラムに基づいて実行されるゲームの基本的なゲーム進行について、その一例を示すフローチャートである。 ある実施形態に従うゲームプログラムに基づきユーザ端末の表示部に表示される画面の一例と、これら画面の間の遷移例を示す図である。
 〔実施形態1〕
 以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
 [HMDシステムの構成]
 図1を参照して、HMD(Head-Mounted Device)システム100の構成について説明する。図1は、本実施の形態に従うHMDシステム100の構成の概略を表す図である。HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
 HMDシステム100は、サーバ600と、HMDセット110と、外部機器700と、ネットワーク2と、複数のユーザ端末800とを含む。HMDセット110は、ネットワーク2を介してサーバ600や外部機器700やユーザ端末800と通信可能に構成される。HMDセット110は、HMD120と、コンピュータ200と、HMDセンサ410と、ディスプレイ430と、コントローラ300とを備える。HMD120は、モニタ130と、注視センサ140と、第1カメラ150と、第2カメラ160と、マイク170と、スピーカ180とを含む。コントローラ300は、モーションセンサ420を含み得る。
 ある局面において、コンピュータ200は、インターネットその他のネットワーク2に接続可能であり、ネットワーク2に接続されているサーバ600その他のコンピュータと通信可能である。その他のコンピュータとしては、例えば、ユーザ端末800、外部機器700、他のHMDセット110のコンピュータなどが挙げられる。別の局面において、HMD120は、HMDセンサ410の代わりに、センサ190を含み得る。
 HMD120は、プレイヤ5の頭部に装着され、動作中に仮想空間をプレイヤ5に提供し得る。より具体的には、HMD120は、右目用の画像および左目用の画像をモニタ130にそれぞれ表示する。プレイヤ5の各目がそれぞれの画像を視認すると、プレイヤ5は、両目の視差に基づき当該画像を3次元画像として認識し得る。HMD120は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。HMD120は、例えば、所定の達成条件を成立させることによりクリアとなるゲームをプレイヤ5にプレイさせるための仮想空間を提供する。プレイヤ5は、ゲームのプレイ画面をユーザ端末800において表示可能とするためのデータを配信するため、配信者ともいう。
 なお、ゲームのジャンルは、特定のジャンルに限られず、HMDシステム100は、あらゆるジャンルのゲームを実行し得る。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG(Role-Playing Game)、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
 また、本ゲームのプレイ形態は、特定のプレイ形態に限られない。HMDシステム100は、あらゆるプレイ形態のゲームをプレイさせる仮想空間を提供し得る。例えば、単一のプレイヤ5によるシングルプレイゲーム、および、複数のプレイヤ5によるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のプレイヤ5が対戦する対戦ゲーム、および、複数のプレイヤ5が協力する協力プレイゲームなどであってもよい。
 モニタ130は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ130は、プレイヤ5の両目の前方に位置するようにHMD120の本体に配置されている。したがって、プレイヤ5は、モニタ130に表示される3次元画像を視認すると、仮想空間に没入することができる。ある局面において、仮想空間には、例えば、プレイヤ5が操作可能なアバターオブジェクトや、他のオブジェクトが配置される。ある局面において、モニタ130は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。
 別の局面において、モニタ130は、透過型の表示装置として実現され得る。この場合、HMD120は、図1に示されるようにプレイヤ5の目を覆う密閉型ではなく、メガネ型のような開放型であり得る。透過型のモニタ130は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。モニタ130は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例えば、モニタ130は、HMD120に搭載されたカメラで撮影した現実空間の画像を表示してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい。
 ある局面において、モニタ130は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ130は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ130は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
 ある局面において、HMD120は、図示せぬ複数の光源を含む。各光源は例えば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ410は、HMD120の動きを検出するためのポジショントラッキング機能を有する。より具体的には、HMDセンサ410は、HMD120が発する複数の赤外線を読み取り、現実空間内におけるHMD120の位置および傾きを検出する。
 別の局面において、HMDセンサ410は、カメラにより実現されてもよい。この場合、HMDセンサ410は、カメラから出力されるHMD120の画像情報を用いて、画像解析処理を実行することにより、HMD120の位置および傾きを検出することができる。
 別の局面において、HMD120は、位置検出器として、HMDセンサ410の代わりに、あるいはHMDセンサ410に加えてセンサ190を備えてもよい。HMD120は、センサ190を用いて、HMD120自身の位置および傾きを検出し得る。例えば、センサ190が角速度センサ、地磁気センサ、あるいは加速度センサである場合、HMD120は、HMDセンサ410の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ190が角速度センサである場合、角速度センサは、現実空間におけるHMD120の3軸周りの角速度を経時的に検出する。HMD120は、各角速度に基づいて、HMD120の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD120の傾きを算出する。
 注視センサ140は、プレイヤ5の右目および左目の視線が向けられる方向を検出する。つまり、注視センサ140は、プレイヤ5の視線を検出する。視線の方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、例えば、プレイヤ5の右目および左目に赤外線を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、プレイヤ5の視線を検知することができる。
 第1カメラ150は、プレイヤ5の顔の下部を撮影する。より具体的には、第1カメラ150は、プレイヤ5の鼻および口などを撮影する。第2カメラ160は、プレイヤ5の目および眉などを撮影する。HMD120のプレイヤ5側の筐体をHMD120の内側、HMD120のプレイヤ5とは逆側の筐体をHMD120の外側と定義する。ある局面において、第1カメラ150は、HMD120の外側に配置され、第2カメラ160は、HMD120の内側に配置され得る。第1カメラ150および第2カメラ160が生成した画像は、コンピュータ200に入力される。別の局面において、第1カメラ150と第2カメラ160とを1台のカメラとして実現し、この1台のカメラでプレイヤ5の顔を撮影するようにしてもよい。
 マイク170は、プレイヤ5の発話を音声信号(電気信号)に変換してコンピュータ200に出力する。スピーカ180は、音声信号を音声に変換してプレイヤ5に出力する。別の局面において、HMD120は、スピーカ180に替えてイヤホンを含み得る。
 コントローラ300は、有線または無線によりコンピュータ200に接続されている。コントローラ300は、プレイヤ5からコンピュータ200への命令の入力を受け付ける。ある局面において、コントローラ300は、プレイヤ5によって把持可能に構成される。別の局面において、コントローラ300は、プレイヤ5の身体あるいは衣類の一部に装着可能に構成される。さらに別の局面において、コントローラ300は、コンピュータ200から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。さらに別の局面において、コントローラ300は、プレイヤ5から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
 ある局面において、コントローラ300は、複数の光源を含む。各光源は例えば、赤外線を発するLEDにより実現される。HMDセンサ410は、ポジショントラッキング機能を有する。この場合、HMDセンサ410は、コントローラ300が発する複数の赤外線を読み取り、現実空間内におけるコントローラ300の位置および傾き、即ちプレイヤの身体の動きを検出する。別の局面において、HMDセンサ410は、カメラにより実現されてもよい。この場合、HMDセンサ410は、カメラから出力されるコントローラ300の画像情報を用いて、画像解析処理を実行することにより、コントローラ300の位置および傾きを検出することができる。
 モーションセンサ420は、ある局面において、プレイヤ5の手に取り付けられて、プレイヤ5の手の動きを検出する。例えば、モーションセンサ420は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ420は、例えば、コントローラ300に設けられている。ある局面において、モーションセンサ420は、例えば、プレイヤ5に把持可能に構成されたコントローラ300に設けられている。別の局面において、現実空間における安全のため、コントローラ300は、手袋型のようにプレイヤ5の手に装着されることにより容易に飛んで行かないものに装着される。さらに別の局面において、プレイヤ5に装着されないセンサがプレイヤ5の手の動きを検出してもよい。例えば、プレイヤ5を撮影するカメラの信号が、プレイヤ5の動作を表わす信号として、コンピュータ200に入力されてもよい。モーションセンサ420とコンピュータ200とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
 ディスプレイ430は、モニタ130に表示されている画像と同様の画像を表示する。これにより、HMD120を装着しているプレイヤ5以外のデータ配信にかかわる者(プレイヤ5と同様に配信者ともいう)にも当該プレイヤ5と同様の画像を視聴させることができる。ディスプレイ430に表示される画像は、3次元画像である必要はなく、右目用の画像や左目用の画像であってもよい。ディスプレイ430としては、例えば、液晶ディスプレイや有機ELモニタなどが挙げられる。
 サーバ600は、コンピュータ200にプログラムを送信し得る。別の局面において、サーバ600は、コンピュータ200から提供された仮想空間を表示可能にするためのデータを、サーバ600と接続可能な複数のユーザ端末(例えばユーザ端末800A、800C、800D)に配信し得る。なお、コンピュータ200は、サーバ600を介することなく、当該データを配信するようにしてもよい。
 サーバ600は、他のプレイヤによって使用されるHMD120に仮想現実を提供するための他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数のプレイヤが参加型のゲームを行なう場合、各コンピュータ200は、各プレイヤの動作に基づく信号をサーバ600を介して他のコンピュータ200と通信して、同じ仮想空間において複数のプレイヤが共通のゲームを楽しむことを可能にする。各コンピュータ200は、各プレイヤの動作に基づく信号をサーバ600を介さずに他のコンピュータ200と通信するようにしてもよい。
 外部機器700は、コンピュータ200と通信可能な機器であればどのような機器であってもよい。外部機器700は、例えば、ネットワーク2を介してコンピュータ200と通信可能な機器であってもよいし、近距離無線通信や有線接続によりコンピュータ200と直接通信可能な機器であってもよい。外部機器700としては、例えば、スマートデバイス、PC(Personal Computer)、及びコンピュータ200の周辺機器などが挙げられるが、これらに限定されるものではない。
 [コンピュータのハードウェア構成]
 図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、本実施の形態に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ210と、メモリ220と、ストレージ230と、入出力インターフェース(以下、IF)240と、通信IF250とを備える。各構成要素は、それぞれ、バス260に接続されている。
 プロセッサ210は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ220またはストレージ230に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ210は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。
 メモリ220は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ230からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ210によって生成されたデータとを含む。ある局面において、メモリ220は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
 ストレージ230は、プログラムおよびデータを永続的に保持する。ストレージ230は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ230に格納されるプログラムは、HMDシステム100において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ230に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。
 別の局面において、ストレージ230は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ200に内蔵されたストレージ230の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
 入出力IF240は、HMD120、HMDセンサ410、モーションセンサ420およびディスプレイ430との間で信号を通信する。HMD120に含まれるモニタ130,注視センサ140,第1カメラ150,第2カメラ160,マイク170およびスピーカ180は、HMD120の入出力IF240を介してコンピュータ200との通信を行ない得る。ある局面において、入出力IF240は、USB(Universal Serial Bus)、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。入出力IF240は上述のものに限られない。
 ある局面において、入出力IF240は、さらに、コントローラ300と通信し得る。例えば、入出力IF240は、コントローラ300およびモーションセンサ420から出力された信号の入力を受ける。別の局面において、入出力IF240は、プロセッサ210から出力された命令を、コントローラ300に送る。当該命令は、振動、音声出力、発光等をコントローラ300に指示する。コントローラ300は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
 通信IF250は、ネットワーク2に接続されて、ネットワーク2に接続されている他のコンピュータ(例えば、サーバ600)と通信する。ある局面において、通信IF250は、例えば、LAN(Local Area Network)その他の有線通信IF、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信IFとして実現される。通信IF250は上述のものに限られない。
 ある局面において、プロセッサ210は、ストレージ230にアクセスし、ストレージ230に格納されている1つ以上のプログラムをメモリ220にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ210は、入出力IF240を介して、仮想空間を提供するための信号をHMD120に送る。HMD120は、その信号に基づいてモニタ130に映像を表示する。
 図2に示される例では、コンピュータ200は、HMD120の外部に設けられる構成が示されているが、別の局面において、コンピュータ200は、HMD120に内蔵されてもよい。一例として、モニタ130を含む携帯型の情報通信端末(例えば、スマートフォン)がコンピュータ200として機能してもよい。
 コンピュータ200は、複数のHMD120に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のプレイヤに同一の仮想空間を提供することもできるので、各プレイヤは同一の仮想空間で他のプレイヤと同一のアプリケーションを楽しむことができる。
 ある実施の形態において、HMDシステム100では、現実空間における座標系である実座標系が予め設定されている。実座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、並びに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。実座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、実座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。
 ある局面において、HMDセンサ410は、赤外線センサを含む。赤外線センサが、HMD120の各光源から発せられた赤外線をそれぞれ検出すると、HMD120の存在を検出する。HMDセンサ410は、さらに、各点の値(実座標系における各座標値)に基づいて、HMD120を装着したプレイヤ5の動きに応じた、現実空間内におけるHMD120の位置および傾き(向き)を検出する。より詳しくは、HMDセンサ410は、経時的に検出された各値を用いて、HMD120の位置および傾きの時間的変化を検出できる。
 HMDセンサ410によって検出されたHMD120の各傾きは、実座標系におけるHMD120の3軸周りの各傾きに相当する。HMDセンサ410は、実座標系におけるHMD120の傾きに基づき、uvw視野座標系をHMD120に設定する。HMD120に設定されるuvw視野座標系は、HMD120を装着したプレイヤ5が仮想空間において物体を見る際の視点座標系に対応する。
 [uvw視野座標系]
 図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD120に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ410は、HMD120の起動時に、実座標系におけるHMD120の位置および傾きを検出する。プロセッサ210は、検出された値に基づいて、uvw視野座標系をHMD120に設定する。
 図3に示されるように、HMD120は、HMD120を装着したプレイヤ5の頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD120は、実座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、実座標系内においてHMD120の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD120におけるuvw視野座標系のピッチ軸(u軸)、ヨー軸(v軸)、およびロール軸(w軸)として設定する。
 ある局面において、HMD120を装着したプレイヤ5が直立し、かつ、正面を視認している場合、プロセッサ210は、実座標系に平行なuvw視野座標系をHMD120に設定する。この場合、実座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD120におけるuvw視野座標系のピッチ軸(u軸)、ヨー軸(v軸)、およびロール軸(w軸)に一致する。
 uvw視野座標系がHMD120に設定された後、HMDセンサ410は、HMD120の動きに基づいて、設定されたuvw視野座標系におけるHMD120の傾きを検出できる。この場合、HMDセンサ410は、HMD120の傾きとして、uvw視野座標系におけるHMD120のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ軸周りのHMD120の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー軸周りのHMD120の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール軸周りのHMD120の傾き角度を表す。
 HMDセンサ410は、検出されたHMD120の傾きに基づいて、HMD120が動いた後のHMD120におけるuvw視野座標系を、HMD120に設定する。HMD120と、HMD120のuvw視野座標系との関係は、HMD120の位置および傾きに関わらず、常に一定である。HMD120の位置および傾きが変わると、当該位置および傾きの変化に連動して、実座標系におけるHMD120のuvw視野座標系の位置および傾きが変化する。
 ある局面において、HMDセンサ410は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)に基づいて、HMD120の現実空間内における位置を、HMDセンサ410に対する相対位置として特定してもよい。プロセッサ210は、特定された相対位置に基づいて、現実空間内(実座標系)におけるHMD120のuvw視野座標系の原点を決定してもよい。
 [仮想空間]
 図4を参照して、仮想空間についてさらに説明する。図4は、ある実施の形態に従う仮想空間11を表現する一態様を概念的に表す図である。仮想空間11は、中心12の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間11のうちの上半分の天球が例示されている。仮想空間11では各メッシュが規定される。各メッシュの位置は、仮想空間11に規定されるグローバル座標系であるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間11に展開可能なパノラマ画像13(静止画、動画等)を構成する各部分画像を、仮想空間11において対応する各メッシュにそれぞれ対応付ける。
 ある局面において、仮想空間11では、中心12を原点とするXYZ座標系が規定される。XYZ座標系は、例えば、実座標系に平行である。XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)が実座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)が実座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)が実座標系のz軸と平行である。
 HMD120の起動時、すなわちHMD120の初期状態において、仮想カメラ14が、仮想空間11の中心12に配置される。ある局面において、プロセッサ210は、仮想カメラ14が撮影する画像をHMD120のモニタ130に表示する。仮想カメラ14は、現実空間におけるHMD120の動きに連動して、仮想空間11を同様に移動する。これにより、現実空間におけるHMD120の位置および傾きの変化が、仮想空間11において同様に再現され得る。
 仮想カメラ14には、HMD120の場合と同様に、uvw視野座標系が規定される。仮想空間11における仮想カメラ14のuvw視野座標系は、現実空間(実座標系)におけるHMD120のuvw視野座標系に連動するように規定されている。したがって、HMD120の傾きが変化すると、それに応じて、仮想カメラ14の傾きも変化する。仮想カメラ14は、HMD120を装着したプレイヤ5の現実空間における移動に連動して、仮想空間11において移動することもできる。
 コンピュータ200のプロセッサ210は、仮想カメラ14の位置と傾き(基準視線16)とに基づいて、仮想空間11における視界領域15を規定する。視界領域15は、仮想空間11のうち、HMD120を装着したプレイヤ5が視認する領域に対応する。つまり、仮想カメラ14の位置は、仮想空間11におけるプレイヤ5の視点と言える。
 注視センサ140によって検出されるプレイヤ5の視線は、プレイヤ5が物体を視認する際の視点座標系における方向である。HMD120のuvw視野座標系は、プレイヤ5がモニタ130を視認する際の視点座標系に等しい。仮想カメラ14のuvw視野座標系は、HMD120のuvw視野座標系に連動している。したがって、ある局面に従うHMDシステム100は、注視センサ140によって検出されたプレイヤ5の視線を、仮想カメラ14のuvw視野座標系におけるプレイヤ5の視線とみなすことができる。
 [プレイヤの視線]
 図5を参照して、プレイヤ5の視線の決定について説明する。図5は、ある実施の形態に従うHMD120を装着するプレイヤ5の頭部を上から表した図である。
 ある局面において、注視センサ140は、プレイヤ5の右目および左目の各視線を検出する。ある局面において、プレイヤ5が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。別の局面において、プレイヤ5が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール軸wに対して視線R2およびL2が成す角度は、ロール軸wに対して視線R1およびL1が成す角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。
 コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、プレイヤ5の視線N0を特定する。コンピュータ200は、例えば、プレイヤ5の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線N0として検出する。視線N0は、プレイヤ5が両目により実際に視線を向けている方向である。視線N0は、視界領域15に対してプレイヤ5が実際に視線を向けている方向に相当する。
 別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間11においてテレビ番組を表示することができる。
 さらに別の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
 [視界領域]
 図6および図7を参照して、視界領域15について説明する。図6は、仮想空間11において視界領域15をX方向から見たYZ断面を表す図である。図7は、仮想空間11において視界領域15をY方向から見たXZ断面を表す図である。
 図6に示されるように、YZ断面における視界領域15は、領域18を含む。領域18は、仮想カメラ14の位置と基準視線16と仮想空間11のYZ断面とによって定義される。プロセッサ210は、仮想空間における基準視線16を中心として極角αを含む範囲を、領域18として規定する。
 図7に示されるように、XZ断面における視界領域15は、領域19を含む。領域19は、仮想カメラ14の位置と基準視線16と仮想空間11のXZ断面とによって定義される。プロセッサ210は、仮想空間11における基準視線16を中心とした方位角βを含む範囲を、領域19として規定する。極角αおよびβは、仮想カメラ14の位置と仮想カメラ14の傾き(向き)とに応じて定まる。
 ある局面において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像17をモニタ130に表示させることにより、プレイヤ5に仮想空間11における視界を提供する。視界画像17は、パノラマ画像13のうち視界領域15に対応する部分に相当する画像である。プレイヤ5が、頭部に装着したHMD120を動かすと、その動きに連動して仮想カメラ14も動く。その結果、仮想空間11における視界領域15の位置が変化する。これにより、モニタ130に表示される視界画像17は、パノラマ画像13のうち、仮想空間11においてプレイヤ5が向いた方向の視界領域15に重畳する画像に更新される。プレイヤ5は、仮想空間11における所望の方向を視認することができる。
 このように、仮想カメラ14の傾きは仮想空間11におけるプレイヤ5の視線(基準視線16)に相当し、仮想カメラ14が配置される位置は、仮想空間11におけるプレイヤ5の視点に相当する。したがって、仮想カメラ14の位置または傾きを変更することにより、モニタ130に表示される画像が更新され、プレイヤ5の視界が移動される。
 プレイヤ5は、HMD120を装着している間、現実世界を視認することなく、仮想空間11に展開されるパノラマ画像13のみを視認できる。そのため、HMDシステム100は、仮想空間11への高い没入感覚をプレイヤ5に与えることができる。
 ある局面において、プロセッサ210は、HMD120を装着したプレイヤ5の現実空間における移動に連動して、仮想空間11において仮想カメラ14を移動し得る。この場合、プロセッサ210は、仮想空間11における仮想カメラ14の位置および傾きに基づいて、HMD120のモニタ130に投影される画像領域(視界領域15)を特定する。
 ある局面において、仮想カメラ14は、2つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含み得る。プレイヤ5が3次元の仮想空間11を認識できるように、適切な視差が、2つの仮想カメラに設定される。別の局面において、仮想カメラ14を1つの仮想カメラにより実現してもよい。この場合、1つの仮想カメラにより得られた画像から、右目用の画像と左目用の画像とを生成するようにしてもよい。本実施の形態においては、仮想カメラ14が2つの仮想カメラを含み、2つの仮想カメラのロール軸が合成されることによって生成されるロール軸(w)がHMD120のロール軸(w)に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
 [仮想空間に配置されるオブジェクト]
 図8を参照して、仮想空間11の一例について説明する。仮想空間11には、複数種類のオブジェクトが配置される。複数種類のオブジェクトには、プレイヤ5の分身であるアバターオブジェクト6、コントローラ300によって操作される仮想手などの操作オブジェクト、キャラクタオブジェクト、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等の背景オブジェクトなどが含まれる。図8には、アバターオブジェクト6、およびオブジェクトA~Dが配置されている例が示されている。オブジェクトA~Dとしては、例えば、キャラクタオブジェクトや背景オブジェクトなどが挙げられるが、これらに限定されるものではない。アバターオブジェクト6は、プレイヤ5の動きに応じた位置において動作・配置される。また、オブジェクトA~Dなど(以下、他のオブジェクトともいう)は、ゲームプログラムに基づき、ゲームの進行に応じた位置において動作・配置される。
 例えば、アバターオブジェクト6を敵キャラクタと対戦させる対戦ゲームでは、敵キャラクタのオブジェクト、当該敵キャラクタの攻撃を妨害する障害物のオブジェクト等が、他のオブジェクトに相当する。また、アバターオブジェクトにブロックの配置を並び替えさせるパズルゲームでは、色や形状が異なる複数のブロックのオブジェクト等が、他のオブジェクトに相当する。
 さらに、アバターオブジェクトを密室から脱出させる脱出ゲームでは、室内に配置される家具(テーブル、椅子、タンス、ベッド等)のオブジェクト、脱出のためのアイテム(鍵や日記)のオブジェクト等が、他のオブジェクトに相当する。また、アバターオブジェクトに楽器を弾かせる音楽ゲームでは、楽器(ピアノ、バイオリン等)のオブジェクト、当該アバターオブジェクトとともに共演する他のキャラクタのオブジェクト等が、他のオブジェクトに相当する。
 [コントローラ]
 図9を参照して、コントローラ300の一例について説明する。図9は、ある実施の形態に従うコントローラ300の概略構成を表す図である。
 図9に示されるように、ある局面において、コントローラ300は、右コントローラ300Rと図示せぬ左コントローラとを含み得る。右コントローラ300Rは、プレイヤ5の右手で操作される。左コントローラは、プレイヤ5の左手で操作される。ある局面において、右コントローラ300Rと左コントローラとは、別個の装置として対称に構成される。したがって、プレイヤ5は、右コントローラ300Rを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ300は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ300Rについて説明する。
 右コントローラ300Rは、グリップ310と、フレーム320と、天面330とを備える。グリップ310は、プレイヤ5の右手によって把持されるように構成されている。たとえば、グリップ310は、プレイヤ5の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。
 グリップ310は、ボタン340,350と、モーションセンサ420とを含む。ボタン340は、グリップ310の側面に配置され、右手の中指による操作を受け付ける。ボタン350は、グリップ310の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン340,350は、トリガー式のボタンとして構成される。モーションセンサ420は、グリップ310の筐体に内蔵されている。プレイヤ5の動作がカメラその他の装置によってプレイヤ5の周りから検出可能である場合には、グリップ310は、モーションセンサ420を備えなくてもよい。
 フレーム320は、その円周方向に沿って配置された複数の赤外線LED360を含む。赤外線LED360は、コントローラ300を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED360から発せられた赤外線は、右コントローラ300Rと左コントローラとの各位置や姿勢(傾き、向き)を検出するために使用され得る。図9に示される例では、二列に配置された赤外線LED360が示されているが、配列の数は図9に示されるものに限られない。一列あるいは3列以上の配列が使用されてもよい。
 天面330は、ボタン370,380と、アナログスティック390とを備える。ボタン370,380は、プッシュ式ボタンとして構成される。ボタン370,380は、プレイヤ5の右手の親指による操作を受け付ける。アナログスティック390は、ある局面において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、たとえば、仮想空間11に配置されるオブジェクトを移動するための操作を含む。
 ある局面において、右コントローラ300Rおよび左コントローラは、赤外線LED360その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型などを含むが、これらに限定されない。別の局面において、右コントローラ300Rと左コントローラは、たとえば、コンピュータ200のUSBIFに接続され得る。この場合、右コントローラ300Rおよび左コントローラは、電池を必要としない。なお、上述したコントローラ300の構成は一例であり、これに限定されるものではない。
 図9の状態(A)および状態(B)に示されるように、例えば、プレイヤ5の右手に対して、ヨー、ロール、ピッチの各方向が規定される。プレイヤ5が親指と人差し指とを伸ばした場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定される。
 [サーバのハードウェア構成]
 図10を参照して、本実施の形態に係るサーバ600について説明する。図10は、ある実施の形態に従うサーバ600のハードウェア構成の一例を表すブロック図である。サーバ600は、主たる構成要素として、プロセッサ610と、メモリ620と、ストレージ630と、入出力IF640と、通信IF650とを備える。各構成要素は、それぞれ、バス660に接続されている。
 プロセッサ610は、サーバ600に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ620またはストレージ630に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ610は、CPU、GPU、MPU、FPGAその他のデバイスとして実現される。
 メモリ620は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ630からロードされる。データは、サーバ600に入力されたデータと、プロセッサ610によって生成されたデータとを含む。ある局面において、メモリ620は、RAMその他の揮発メモリとして実現される。
 ストレージ630は、プログラムおよびデータを永続的に保持する。ストレージ630は、例えば、ROM、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ630に格納されるプログラムは、HMDシステム100およびユーザ端末800の各々において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、コンピュータ200およびユーザ端末800との通信を実現するためのプログラムを含んでもよい。ストレージ630に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含んでもよい。
 別の局面において、ストレージ630は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、サーバ600に内蔵されたストレージ630の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
 入出力IF640は、入出力機器との間で信号を通信する。ある局面において、入出力IF640は、USB、DVI、HDMI(登録商標)その他の端子を用いて実現される。入出力IF640は上述のものに限られない。
 通信IF650は、ネットワーク2に接続されて、ネットワーク2に接続されているコンピュータ200およびユーザ端末800の各々と通信する。ある局面において、通信IF650は、例えば、LANその他の有線通信IF、あるいは、WiFi、Bluetooth(登録商標)、NFCその他の無線通信IFとして実現される。通信IF650は上述のものに限られない。
 ある局面において、プロセッサ610は、ストレージ630にアクセスし、ストレージ630に格納されている1つ以上のプログラムをメモリ620にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、サーバ600のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ610は、入出力IF640を介して、仮想空間を提供するための信号をコンピュータ200およびユーザ端末800の各々に送ってもよい。
 [HMDの制御装置]
 図11を参照して、HMD120の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図11は、ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図である。
 図11に示されるように、コンピュータ200は、コントロールモジュール510と、レンダリングモジュール520と、メモリモジュール530と、通信制御モジュール540とを備える。ある局面において、コントロールモジュール510とレンダリングモジュール520とは、プロセッサ210によって実現される。別の局面において、複数のプロセッサ210がコントロールモジュール510とレンダリングモジュール520として作動してもよい。メモリモジュール530は、メモリ220またはストレージ230によって実現される。通信制御モジュール540は、通信IF250によって実現される。
 コントロールモジュール510は、プレイヤ5に提供される仮想空間11を制御する。コントロールモジュール510は、仮想空間11を表す仮想空間データを用いて、HMDシステム100における仮想空間11を規定する。仮想空間データは、例えば、メモリモジュール530に記憶されている。コントロールモジュール510が、仮想空間データを生成したり、サーバ600などから仮想空間データを取得するようにしたりしてもよい。
 コントロールモジュール510は、オブジェクトを表すオブジェクトデータ(オブジェクトを配置(表示)するための配置用データ(表示用データ))を用いて、仮想空間11にオブジェクトを配置する。オブジェクトデータは、例えば、メモリモジュール530に記憶されている。コントロールモジュール510が、オブジェクトデータを生成したり、サーバ600などからオブジェクトデータを取得するようにしたりしてもよい。
 コントロールモジュール510は、プレイヤ5を含む画像に基づいて、プレイヤ5を模したアバターオブジェクトを仮想空間11に配置する。ある局面において、コントロールモジュール510は、複数種類のアバターオブジェクト(例えば、動物を模したオブジェクトや、デフォルメされた人のオブジェクト)の中からプレイヤ5による選択を受け付けたアバターオブジェクトを仮想空間11に配置する。ある局面において、コントロールモジュール510は、ネットワーク2を介して接続される他のコンピュータ200のプレイヤ5のアバターオブジェクトを仮想空間11に配置する。別の局面において、コントロールモジュール510は、プレイヤ5のアバターオブジェクトを仮想空間11に配置してもよい。
 コントロールモジュール510は、HMDセンサ410の出力に基づいてHMD120の傾きを特定する。別の局面において、コントロールモジュール510は、モーションセンサとして機能するセンサ190の出力に基づいてHMD120の傾きを特定する。コントロールモジュール510は、第1カメラ150および第2カメラ160が生成するプレイヤ5の顔の画像から、プレイヤ5の顔を構成する器官(例えば、口,目,眉)を検出する。コントロールモジュール510は、検出した各器官の動き(形状)を検出する。
 コントロールモジュール510は、注視センサ140からの信号に基づいて、プレイヤ5の仮想空間11における視線を検出する。コントロールモジュール510は、検出したプレイヤ5の視線と仮想空間11の天球とが交わる視点位置(XYZ座標系における座標値)を検出する。より具体的には、コントロールモジュール510は、uvw座標系で規定されるプレイヤ5の視線と、仮想カメラ14の位置および傾きとに基づいて、視点位置を検出する。コントロールモジュール510は、検出した視点位置をサーバ600に送信する。別の局面において、コントロールモジュール510は、プレイヤ5の視線を表す視線情報をサーバ600に送信するように構成されてもよい。係る場合、サーバ600が受信した視線情報に基づいて視点位置を算出し得る。
 コントロールモジュール510は、HMDセンサ410が検出するプレイヤ5の身体の動きをアバターオブジェクトに反映する。例えば、コントロールモジュール510は、プレイヤ5がしゃがみこんだことを検知して、アバターオブジェクトをしゃがみこませる。コントロールモジュール510は、検出した顔器官の動作を、仮想空間11に配置されるアバターオブジェクトの顔に反映させる。ある局面において、コントロールモジュール510は、コントローラ300の動きをアバターオブジェクトや操作オブジェクトに反映する。この場合、コントローラ300は、コントローラ300の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子(例えば、赤外線LED)などを備える。別の局面において、コントロールモジュール510は、サーバ600から他のプレイヤ5の視線情報を受信し、当該他のプレイヤ5のアバターオブジェクトの視線に反映させてもよい。
 コントロールモジュール510は、仮想空間11においてプレイヤ5の操作を受け付けるための操作オブジェクトを含むオブジェクトを仮想空間11に配置する。プレイヤ5は、操作オブジェクトを操作することにより、例えば、仮想空間11に配置されるオブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、プレイヤ5の手に相当する仮想手である手オブジェクト等を含み得る。ある局面において、コントロールモジュール510は、モーションセンサ420の出力に基づいて現実空間におけるプレイヤ5の手の動きに連動するように仮想空間11において手オブジェクトを動かす。ある局面において、操作オブジェクトは、アバターオブジェクトの手の部分に相当し得る。
 コントロールモジュール510は、仮想空間11に配置されるオブジェクトのそれぞれが、他のオブジェクトと衝突した場合に、当該衝突を検出する。コントロールモジュール510は、例えば、あるオブジェクトのコリジョンエリアと、別のオブジェクトのコリジョンエリアとが触れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール510は、オブジェクトとオブジェクトとが触れている状態から離れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行なう。コントロールモジュール510は、オブジェクトとオブジェクトとが触れている状態であることを検出することができる。例えば、コントロールモジュール510は、操作オブジェクトと、他のオブジェクトとが触れたときに、これら操作オブジェクトと他のオブジェクトとが触れたことを検出して、予め定められた処理を行なう。
 ある局面において、コントロールモジュール510は、HMD120のモニタ130における画像表示を制御する。例えば、コントロールモジュール510は、仮想空間11に仮想カメラ14を配置する。コントロールモジュール510は、仮想空間11における仮想カメラ14の位置と、仮想カメラ14の傾き(向き)を制御する。コントロールモジュール510は、HMD120を装着したプレイヤ5の頭部の傾きと、仮想カメラ14の位置に応じて、視界領域15を規定する。レンダリングモジュール520は、決定された視界領域15に基づいて、モニタ130に表示される視界画像17を生成する。レンダリングモジュール520により生成された視界画像17は、通信制御モジュール540によってHMD120に出力される。
 コントロールモジュール510は、HMD120から、プレイヤ5のマイク170を用いた発話を検出すると、当該発話に対応する音声データの送信対象のコンピュータ200を特定する。音声データは、コントロールモジュール510によって特定されたコンピュータ200に送信される。コントロールモジュール510は、ネットワーク2を介して他のユーザのコンピュータ200から音声データを受信すると、当該音声データに対応する音声(発話)をスピーカ180から出力する。
 メモリモジュール530は、コンピュータ200が仮想空間11をプレイヤ5に提供するために使用されるデータを保持している。ある局面において、メモリモジュール530は、空間情報と、オブジェクト情報と、プレイヤ情報とを保持している。
 空間情報は、仮想空間11を提供するために規定された1つ以上のテンプレートを保持している。
 オブジェクト情報は、仮想空間11を構成する複数のパノラマ画像13、仮想空間11にオブジェクトを配置するためのオブジェクトデータを含む。パノラマ画像13は、静止画像および動画像を含み得る。パノラマ画像13は、非現実空間の画像と現実空間の画像とを含み得る。非現実空間の画像としては、例えば、コンピュータグラフィックスで生成された画像が挙げられる。
 プレイヤ情報は、プレイヤ5を識別するプレイヤIDを保持する。プレイヤIDは、例えば、プレイヤが使用するコンピュータ200に設定されるIP(Internet Protocol)アドレスまたはMAC(Media Access Control)アドレスであり得る。別の局面において、プレイヤIDはプレイヤによって設定され得る。プレイヤ情報は、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム等を含む。
 メモリモジュール530に格納されているデータおよびプログラムは、HMD120のプレイヤ5によって入力される。あるいは、プロセッサ210が、当該コンテンツを提供する事業者が運営するコンピュータ(例えば、サーバ600)からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール530に格納する。
 通信制御モジュール540は、ネットワーク2を介して、サーバ600その他の情報通信装置と通信し得る。
 ある局面において、コントロールモジュール510及びレンダリングモジュール520は、例えば、ユニティテクノロジーズ社によって提供されるUnity(登録商標)を用いて実現され得る。別の局面において、コントロールモジュール510及びレンダリングモジュール520は、各処理を実現する回路素子の組み合わせとしても実現され得る。
 コンピュータ200における処理は、ハードウェアと、プロセッサ210により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール530に予め格納されている場合がある。ソフトウェアは、CD-ROMその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール540を介してサーバ600その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ210によって記憶モジュールから読み出され、実行可能なプログラムの形式でRAMに格納される。プロセッサ210は、そのプログラムを実行する。
 [モジュールの詳細構成]
 図12を参照して、コンピュータ200のモジュール構成の詳細について説明する。図12は、ある実施の形態に従うコンピュータ200のモジュールの詳細構成を表わすブロック図である。図12に示されるように、コントロールモジュール510は、仮想オブジェクト生成モジュール1421、仮想カメラ制御モジュール1422、操作オブジェクト制御モジュール1423、アバターオブジェクト制御モジュール1424、動き検出モジュール1425、衝突検出モジュール1426、および仮想オブジェクト制御モジュール1427を備えている。
 仮想オブジェクト生成モジュール1421は、各種の仮想オブジェクトを仮想空間11に配置するためのデータを生成する。ある局面において、仮想オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、街並み、動物等を含み得る。ある局面において、仮想オブジェクトは、アバターオブジェクト、操作オブジェクト、およびステージオブジェクトを含み得る。
 仮想カメラ制御モジュール1422は、仮想空間11における仮想カメラ14の挙動を制御する。仮想カメラ制御モジュール1422は、例えば、仮想空間11における仮想カメラ14の配置位置と、仮想カメラ14の向き(傾き)とを制御する。
 操作オブジェクト制御モジュール1423は、仮想空間11においてプレイヤ5の操作を受け付けるための操作オブジェクトを制御する。プレイヤ5は、操作オブジェクトを操作することによって、例えば、仮想空間11に配置される仮想オブジェクトを操作する。ある局面において、操作オブジェクトは、例えば、HMD120を装着したプレイヤ5の手に相当する手オブジェクト(仮想手)等を含み得る。ある局面において、操作オブジェクトは、後述するアバターオブジェクトの手の部分に相当し得る。
 アバターオブジェクト制御モジュール1424は、HMDセンサ410が検出するプレイヤ5の動きをアバターオブジェクトに反映する。例えば、アバターオブジェクト制御モジュール1424は、プレイヤ5がしゃがみこんだことを検知して、アバターオブジェクトをしゃがみこませるためのデータを生成する。ある局面において、アバターオブジェクト制御モジュール1424は、コントローラ300の動きをアバターオブジェクトに反映する。この場合、コントローラ300は、コントローラ300の動きを検知するためのモーションセンサ、加速度センサ、または複数の発光素子(例えば、赤外線LED)などを備える。アバターオブジェクト制御モジュール1424は、動き検出モジュール1425が検出した顔器官の動作を、仮想空間11に配置されるアバターオブジェクトの顔に反映させる。つまり、アバターオブジェクト制御モジュール1424は、プレイヤ5の顔の動作をアバターオブジェクトに反映する。
 動き検出モジュール1425は、プレイヤ5の動きを検出する。動き検出モジュール1425は、例えば、コントローラ300の出力に応じて、プレイヤ5の手の動きを検出する。動き検出モジュール1425は、例えば、HMDセンサ410の出力に応じて、プレイヤ5の身体の動きを検出する。動き検出モジュール1425は、プレイヤ5の顔器官の動作を検出することもできる。
 衝突検出モジュール1426は、仮想空間11に配置される仮想オブジェクトのそれぞれが、他の仮想オブジェクトと衝突した場合に、当該衝突を検出する。衝突検出モジュール1426は、例えば、ある仮想オブジェクトと、別の仮想オブジェクトとが触れたタイミングを検出することができる。衝突検出モジュール1426は、ある仮想オブジェクトと他の仮想オブジェクトとが触れている状態から離れたタイミングを検出することができる。衝突検出モジュール1426は、ある仮想オブジェクトと他の仮想オブジェクトとが触れている状態であることを検出することもできる。衝突検出モジュール1426は、例えば、操作オブジェクトと、他の仮想オブジェクトとが触れたときに、これら操作オブジェクトと他のオブジェクトとが触れたことを検出する。衝突検出モジュール1426は、これらの検出結果に基づいて、予め定められた処理を実行する。
 仮想オブジェクト制御モジュール1427は、仮想空間11において、アバターオブジェクトを除く仮想オブジェクトの挙動を制御する。一例として、仮想オブジェクト制御モジュール1427は、仮想オブジェクトを変形させる。別の例として、仮想オブジェクト制御モジュール1427は、仮想オブジェクトの配置位置を変更する。別の例として、仮想オブジェクト制御モジュール1427は、仮想オブジェクトを移動させる。
 [ユーザ端末のハードウェア構成]
 図13を参照して、本実施の形態に係るユーザ端末(視聴端末)800について説明する。図13は、ある実施の形態に従うユーザ端末800のハードウェア構成の一例を表すブロック図である。ユーザ端末800(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末800は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末800は図示の通り、プロセッサ810と、メモリ820と、ストレージ830と、通信IF13と、入出力IF840と、タッチスクリーン870(表示部)と、カメラ860と、測距センサ880とを備える。ユーザ端末800が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末800は、タッチスクリーン870に代えて、または、加えて、ユーザ端末800本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF840を備えていてもよい。
 また、図13に示すように、ユーザ端末800は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末800と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザ8の入力操作に基づく出力値をユーザ端末800へ送信する。なお、ユーザ8は、配信されるコンテンツを視聴する者でもあるため、視聴者ともいう。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末800へ送信する。
 なお、ユーザ端末800がカメラ860および測距センサ880を備えることに代えて、または、加えて、コントローラ1020がカメラ860および測距センサ880を有していてもよい。
 ユーザ端末800は、例えばゲーム(あるいは視聴)開始時に、コントローラ1020を使用するユーザ8に、該ユーザ8の名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末800は、コントローラ1020とユーザ8とを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザ8のものであるかを特定することができる。
 ユーザ端末800が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザ8が把持することで、ネットワーク2を介してサーバ600などの他の装置と通信せずに、該1台のユーザ端末800でマルチプレイを実現することができる。また、各ユーザ端末800が無線LAN規格等の無線規格により互いに通信接続する(サーバ600を介さずに通信接続する)ことで、複数台のユーザ端末800によりローカルでマルチプレイを実現することもできる。1台のユーザ端末800によりローカルで上述のマルチプレイを実現する場合、ユーザ端末800は、さらに、サーバ600が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末800によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末800は、サーバ600が備える後述する種々の機能を分散して備えていてもよい。
 なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末800はサーバ600と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ600に送信してもよい。
 また、コントローラ1020は、ユーザ端末800に着脱可能な構成であるとしてもよい。この場合、ユーザ端末800の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末800とコントローラ1020とが結合している場合は、ユーザ端末800とコントローラ1020とは、有線を介して信号を送受信する。
 図13に示すように、ユーザ端末800は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF840を介して受け付けてもよい。これにより、ユーザ端末800は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
 ユーザ端末800は、サーバ600等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末800のメモリ820に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ820に記憶してもよい。
 以上で説明したとおり、ユーザ端末800は、該ユーザ端末800に対して情報を入力する機構の一例として、通信IF850、入出力IF840、タッチスクリーン870、カメラ860、測距センサ880、およびスピーカ890を備える。入力する機構としての上述の各部は、ユーザ8の入力操作を受け付けるように構成された操作部と捉えることができる。
 例えば、操作部が、カメラ860および測距センサ880の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末800の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザ8の手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末800は、カメラ860の撮影画像からユーザ8の手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザ8の手の一連の動き)を、ユーザ8の入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
 あるいは、操作部がタッチスクリーン870で構成される場合、ユーザ端末800は、タッチスクリーン870の入力部8701に対して実施されたユーザ8の操作をユーザ8の入力操作として特定し、受け付ける。あるいは、操作部が通信IF850で構成される場合、ユーザ端末800は、コントローラ1020から送信される信号(例えば、出力値)をユーザ8の入力操作として特定し、受け付ける。あるいは、操作部が入出力IF840で構成される場合、該入出力IF840と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザ8の入力操作として特定し、受け付ける。
 プロセッサ810は、ユーザ端末800全体の動作を制御する。プロセッサ810は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
 プロセッサ810はストレージ830からプログラムを読み出し、メモリ820に展開する。プロセッサ810は展開したプログラムを実行する。
 メモリ820は主記憶装置である。メモリ820は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ820は、プロセッサ810が後述するストレージ830から読み出したプログラムや仮想空間データ、オブジェクトデータ等を一時的に記憶することにより、プロセッサ810に作業領域を提供する。メモリ820は、プロセッサ810がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
 本実施形態においてプログラムとは、ゲームをユーザ端末800により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末800とサーバ600との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末800とサーバ600とHMDセット110との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末800とサーバ600との協働により実現されるゲームおよびユーザ端末800とサーバ600とHMDセット110との協働により実現されるゲームは、一例として、ユーザ端末800において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末800の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、HMDシステム100の各装置間で送受信する指示または通知を含んでいる。
 ストレージ830は補助記憶装置である。ストレージ830は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ830には、仮想空間データおよびオブジェクトデータ等が格納される。当該仮想空間データおよびオブジェクトデータ等は、ユーザ端末800が本ゲームに係るアプリケーション(視聴用のアプリケーションを含む)を初めてダウンロードするときや、本ゲームに係るアプリケーション(視聴用のアプリケーションを含む)を更新するときなどに、サーバ600から当該ユーザ端末800に提供される。
 通信IF850は、ユーザ端末800における各種データの送受信を制御する。通信IF850は、例えば、無線LANを介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
 入出力IF840は、ユーザ端末800がデータの入力を受け付けるためのインターフェースであり、またユーザ端末800がデータを出力するためのインターフェースである。入出力IF840は、USB等を介してデータの入出力を行ってもよい。入出力IF840は、例えば、ユーザ端末800の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。
 ユーザ端末800のタッチスクリーン870は、入力部8701と表示部8702とを組み合わせた電子部品である。入力部8701は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部8702は、例えば液晶ディスプレイ、または有機ELディスプレイ等によって構成される。入力部8701は、入力面に対しユーザ8の操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部8701は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
 HMDセット110のディスプレイ430は、ユーザ端末800のタッチスクリーン870と同様に、入力部と表示部とを組み合わせたタッチスクリーンによって構成されていてもよい。
 図示していないが、ユーザ端末800は、該ユーザ端末800の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末800がセンサを備えている場合、プロセッサ810は、センサの出力からユーザ端末800の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ810は、ユーザ端末800が縦向きに保持されているときには、縦長の画像を表示部8702に表示させる縦画面表示としてもよい。一方、ユーザ端末800が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ810は、ユーザ端末800の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
 スピーカ890は、音声データに基づき音声を出力する。カメラ860は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
 測距センサ880は、測定対象物までの距離を測定するセンサである。測距センサ880は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ880は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ880は、指向性を有する光を発する光源を有することとしてもよい。
 ここで、ユーザ端末800が、カメラ860と測距センサ880とを用いて、ユーザ端末800の近傍の物体1010を検出した検出結果を、ユーザ8の入力操作として受け付ける例をさらに説明する。カメラ860および測距センサ880は、例えば、ユーザ端末800の筐体の側面に設けられてもよい。カメラ860の近傍に測距センサ880が設けられてもよい。カメラ860としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ860に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ860の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
 プロセッサ810は、カメラ860の撮影画像に対して、例えば以下の(1)~(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ810は、カメラ860の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザ8の手が含まれているか否かを特定する。プロセッサ810は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ810は、ユーザ8の手の形状から、ユーザ8のジェスチャを検出する。プロセッサ810は、例えば、撮影画像から検出されるユーザ8の手の形状から、ユーザ8の指の本数(伸びている指の本数)を特定する。プロセッサ810はさらに、特定した指の本数から、ユーザ8が行ったジェスチャを特定する。例えば、プロセッサ810は、指の本数が5本である場合、ユーザ8が「パー」のジェスチャを行ったと判定する。また、プロセッサ810は、指の本数が0本である(指が検出されなかった)場合、ユーザ8が「グー」のジェスチャを行ったと判定する。また、プロセッサ810は、指の本数が2本である場合、ユーザ8が「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ810は、カメラ860の撮影画像に対し、画像認識処理を行うことにより、ユーザ8の指が人差し指のみ立てた状態であるか、ユーザ8の指がはじくような動きをしたかを検出する。(4)プロセッサ810は、カメラ860の撮影画像の画像認識結果、および、測距センサ880の出力値等の少なくともいずれか1つに基づいて、ユーザ端末800の近傍の物体1010(ユーザ8の手など)とユーザ端末800との距離を検出する。例えば、プロセッサ810は、カメラ860の撮影画像から特定されるユーザ8の手の形状の大小により、ユーザ8の手がユーザ端末800の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ810は、ユーザ8の手がユーザ端末800に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ860の撮影画像の画像認識結果等に基づいて、ユーザ8の手が検出されている状態で、ユーザ端末800とユーザ8の手との距離が変化していることが判明した場合、プロセッサ810は、ユーザ8が手をカメラ860の撮影方向において振っていると認識する。カメラ860の撮影範囲よりも指向性が強い測距センサ880において、物体が検出されたりされなかったりする場合に、プロセッサ810は、ユーザ8が手をカメラの撮影方向に直交する方向に振っていると認識する。
 このように、プロセッサ810は、カメラ860の撮影画像に対する画像認識により、ユーザ8が手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ810は、ユーザ8の手の形状とともに、ユーザ8がこの手をどのように移動させているかを検出する。また、プロセッサ810は、ユーザ8がこの手をユーザ端末800に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末800は、例えば、ユーザ8の手の移動に応じて、タッチスクリーン870においてポインタを移動させ、ユーザ8のジェスチャ「グー」を検出する。この場合、ユーザ端末800は、ユーザ8が選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末800は、ユーザ8のジェスチャ「グー」が検出されている状態で、さらにユーザ8が手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末800は、カメラ860の撮影画像によるユーザ8の手の検出結果に基づいて、ユーザ8が指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
 <ユーザ端末800における仮想空間>
 図14は、ユーザ端末(以下、視聴端末ともいう)800において規定される仮想空間11及び視界画像1400の一例を模式的に示す図である。図14(A)では、仮想空間11に、アバターオブジェクト(以下、キャラクタともいう)6と他のオブジェクトA~Dとが配置される。コンピュータ200は、図8に示す仮想空間11におけるアバターオブジェクト6および他のオブジェクトA~Dの配置・動作等を特定するための動作指図データ(後述)を、ユーザ端末800に配信する。このため、図14に示す仮想空間11におけるアバターオブジェクト6および他のオブジェクトA~Dの配置や動きは、図8に示す仮想空間11におけるアバターオブジェクト6および他のオブジェクトA~Dの配置や動きと一致する。ユーザ8Aは、左手にユーザ端末800Aを把持している。図14の例では、ユーザ8Aは、アバターオブジェクト6が実演する番組であるライブゲーム進行パートを、ユーザ端末800Aの画面を視認しながら視聴する。
 ユーザ端末800において規定される仮想空間11において、アバターオブジェクト6は、動作指図データに基づいて、図8に示す仮想空間11におけるアバターオブジェクト6の動きと同じ動きをする。ユーザ8Aは、ユーザ端末800Aの画面を通じて、ライブゲーム進行パートの参加者としてアバターオブジェクト6のパフォーマンスを視聴する。また、他のユーザ8C、8Dは、他のユーザ端末800C、800Dの画面を通じて、ライブゲーム進行パートの参加者としてアバターオブジェクト6のパフォーマンスを視聴する。このように、アバターオブジェクト6によって進行するライブゲーム進行パートは、複数のユーザ8に対して同時に配信される。
 図14(A)の例では、ユーザ端末800Aにより規定された仮想空間11において、アバターオブジェクト6の前方に、仮想カメラ20Aが配置される。仮想カメラ20Aは、当該仮想カメラ20Aの位置および向きに応じた視界領域21を規定する。プロセッサ810は、視界領域21に対応する視界画像1400を生成して、図14(B)に示すように、タッチスクリーン870の表示部8702に表示する。即ち、視界領域21は、仮想カメラ20Aの視点で規定され、視界画像1400も仮想カメラ20Aの視点で表示される。視界画像1400には、パフォーマンスを実行するアバターオブジェクト6が少なくとも含まれる。ユーザ8Aは、視界画像1400を視認することによって、アバターオブジェクト6と、アバターオブジェクト6が登場する仮想空間11の一部とを、視認する。これにより、ユーザ8Aは、あたかもアバターオブジェクト6が実際の配信者であるかのような仮想体験を、得ることができる。
 <HMDシステム100の機能的構成>
 図15は、HMDシステム(以下、ゲームシステムともいう)100に含まれるHMDセット110、ユーザ端末800、およびサーバ600の機能的構成を示すブロック図である。HMDセット110、ユーザ端末800、サーバ600のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
 HMDセット(以下、キャラクタ制御装置ともいう)110は、図8に示す仮想空間11にオブジェクトを配置・動作等させるとともに、当該オブジェクトを図14に示す仮想空間11に配置・動作等させるための動作指図データを生成し、ユーザ端末800に供給する機能を有する。当該動作指図データは、アバターオブジェクト6によって進行するライブゲーム進行パートにおけるゲームプレイ映像をユーザ端末800において表示可能とするためのデータであればよく、例えば、プレイヤ5(モデルなど)の動きをモーションセンサ420を介して入力したモーションキャプチャデータ(モーションデータともいう)を含んでいてもよいし、プレイヤ5(声優など)の音声を録音した音声データを含んでいてもよいし、プレイヤ5によって他のオブジェクトを動作させるための入力操作の履歴を示す操作履歴データを含んでいてもよいし、一連の入力操作に対応付けられたコマンドや、ゲームプログラムに基づいてオブジェクトを仮想空間11に配置したり移動させるコマンドを時系列に並べたモーションコマンド群を含んでいてもよい。HMDセット110は、プロセッサ210、メモリ220、ストレージ230、通信IF250、および入出力IF240等の協働によって、制御部2100(コントロールモジュール510、レンダリングモジュール520)および記憶部2200(メモリモジュール530)として機能する。
 ユーザ端末800は、ユーザ8の入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末800は、プロセッサ810、メモリ820、ストレージ830、通信IF850、および入出力IF840等の協働によって、制御部8100および記憶部8200として機能する。
 サーバ600は、各ユーザ端末800と通信して、ユーザ端末800におけるゲーム画像の視聴を支援する機能を有する。例えば、ユーザ端末800が本ゲームに係るアプリケーションを初めてダウンロードするときや更新するときには、ゲームプレイ映像を表示するためにユーザ端末800において記憶させておくべきデータであって、ゲームプレイ映像に含まれ得るオブジェクトのデータ(オブジェクト表示用データ、オブジェクトデータともいう)をユーザ端末800に提供する。
 サーバ600は、ユーザ端末800とHMDセット110とを仲介する機能を備えている。これにより、HMDセット110は、適時に、宛先を誤ることなく、ユーザ端末800または複数のユーザ端末800のグループに対して動作指図データを供給することが可能となる。サーバ600は、プロセッサ610、メモリ620、ストレージ630、通信IF650、および入出力IF640等の協働によって、制御部6100および記憶部6200として機能する。
 なお、本ゲームがマルチプレイゲームである場合には、サーバ600は、ゲームに参加する各HMDセット110と通信して、HMDセット110同士のやりとりを仲介する機能および同期制御機能を有していてもよい。
 記憶部2200は、ゲームプログラム231を格納する。記憶部8200は、ゲームプログラム831を格納する。記憶部6200は、ゲームプログラム631を格納する。ゲームプログラム231は、HMDセット110が実行するゲームプログラムである。ゲームプログラム831は、ユーザ端末800が実行するゲームプログラムである。ゲームプログラム631は、サーバ600が実行するゲームプログラムである。ゲームプログラム231、631、831に基づいて各装置が協働して動作することにより、HMDシステム100に係るゲームが実現される。なお、ゲームプログラム231、831は、記憶部6200に格納され、記憶部2200、8200にそれぞれダウンロードされる構成でもよい。
 また、記憶部2200、8200および6200は、それぞれ、ゲーム情報132およびユーザ情報133を格納する。ゲーム情報132は、制御部2100、8100および6100が、ゲームプログラム231、831、631をそれぞれ実行する際に参照するデータである。ユーザ情報133は、ユーザ8のアカウントに関するデータである。記憶部2200および6200において、ゲーム情報132およびユーザ情報133は、ユーザ端末800ごとに格納されている。なお、ユーザ情報133には、仮想通貨(課金アイテム)の購入履歴、特定のアイテムの購入または取得履歴が含まれていてもよい。
  (HMDセット110の機能的構成)
 制御部2100は、記憶部2200に格納されたゲームプログラム231を実行することにより、HMDセット110を統括的に制御する。例えば、制御部2100は、ゲームプログラム231およびプレイヤ5の操作に従って図8に示す仮想空間11にオブジェクトを配置・動作等させるとともに、当該配置・動作に伴う動作指図データを生成し、ユーザ端末800に供給する。制御部2100は、必要に応じて、さらにゲームプログラム231を実行してもよい。また、制御部2100は、サーバ600および本ゲームを実行中のユーザ端末800と通信して、情報の送受信を行う。
 制御部2100は、ゲームプログラム231の記述に応じて、操作受付部2101、表示制御部2102、UI制御部2103、アニメーション生成部2104、ゲーム進行部2105、仮想空間制御部2106、および反応処理部2107として機能する。制御部2100は、HMDシステム100において実行されるゲームの性質に応じて、該ゲームに登場するオブジェクトを制御するために、図示しないその他の機能ブロックとしても機能することができる。
 操作受付部2101は、プレイヤ5の入力操作を検知し受け付ける。入力操作は、例えば、HMD120、モーションセンサ420、ディスプレイ430がタッチスクリーンである場合に表示部と一体に形成された入力部、マウス(図示せず)、キーボード(図示せず)等の各種の入力装置から、入出力IF34を介して入力される。操作受付部2101は、プレイヤ5が及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部2100の各要素に出力する。
 ユーザインターフェース(以下、UI)制御部2103は、HMD120又はディスプレイ430に表示させるUI画像を制御する。
 アニメーション生成部2104は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部2104は、通信相手となるユーザ端末800上実際に表示されているゲーム画面を再現したアニメーション等を生成してもよい。
 表示制御部2102は、HMD120又はディスプレイ430に対して、上述の各要素によって実行された処理結果が反映された画像を出力する。
 ゲーム進行部2105は、プレイヤ5による入力操作に応じたアバターオブジェクト6と、ユーザ端末800のユーザ8の操作とに基づいて、ゲームを進行する。例えば、ゲーム進行部2105は、アバターオブジェクト6が所定の動作を行った場合に、所定のゲーム処理を行う。また、例えば、ゲーム進行部2105は、ユーザ端末800におけるユーザ8の操作を表す情報を受信し、当該ユーザ8の操作に基づいてゲーム処理を行う。ゲーム進行部2105は、当該ゲーム処理に基づいて各種のゲームパラメータを更新する。当該ゲームパラメータを含むゲーム情報は、サーバ600を介してユーザ端末800に供給される。
 仮想空間制御部2106は、図12を参照して説明したコントロールモジュール510のモジュール1421~1427を含む。これらの詳細については、既に説明した通りである。
 仮想空間制御部2106は、ユーザ端末800との間で仮想空間11を共有するための各種の制御を行う。図16は、仮想空間制御部2106の詳細な構成を示す図である。図16に示すように、仮想空間制御部2106は、図12を参照して説明したモジュール1421~1427を含む。仮想空間制御部2106は、これらのモジュール1421~1427の動作により、当該HMDセット110において、アバターオブジェクト6を動作させるとともに仮想オブジェクトの挙動を制御する。また、仮想空間制御部2106は、モジュール1421~1427の動作に基づいて、ユーザ端末800においてアバターオブジェクト6を動作させるための動作指図データ、各仮想オブジェクトの挙動を制御するための動作指図データを生成する。これらの動作指図データは、サーバ600を介してユーザ端末800に供給される。例えば、仮想空間制御部2106は、プレイヤ5(声優など)が、マイク170を介して入力した音声データに基づいて、制御対象のオブジェクトに発言させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の音声データが少なくとも含まれる。また、例えば、プレイヤ5(モデルなど)が、モーションセンサ420を介して入力したモーションキャプチャデータに基づく動きを、制御対象のオブジェクトに行わせることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述のモーションキャプチャデータが少なくとも含まれる。また、例えば、プレイヤ5が、コントローラ300などの入力機構またはタッチスクリーン、マウス、キーボード等の操作部を介して入力した入力操作の履歴、すなわち、操作履歴データに基づいて、制御対象のオブジェクトを動作させることを指示する動作指図データを生成する。このようにして生成された動作指図データには、上述の操作履歴データが少なくとも含まれる。操作履歴データは、例えば、HMD120にどの画面が表示されているときに、プレイヤ5が、コントローラ300のどのボタンをどのタイミングで押したのかを示す操作ログが時系列で整理されている情報である。あるいは、仮想空間制御部2106は、プレイヤ5が上述の入力機構または操作部を介して入力した入力操作に対応付けられた、オブジェクトの動作を指示するコマンドを特定する。そして、仮想空間制御部2106は、該コマンドを入力された順に並べてオブジェクトの一連の動作を示すモーションコマンド群を生成し、該モーションコマンド群にしたがってオブジェクトを動作させることを指示する動作指図データを生成してもよい。このようにして生成された動作指図データには、上述のモーションコマンド群が少なくとも含まれる。
 反応処理部2107は、ユーザ端末800からユーザ8の反応についてフィードバックを受け付けて、これをHMDセット110のプレイヤ5に対して出力する。本実施形態では、例えば、ユーザ端末800は、上述の動作指図データに従ってオブジェクトを動作させている間、該オブジェクトに宛てて、ユーザ8がコメントを作成することができる。反応処理部2107は、該コメントのコメントデータを受け付けて、これを、出力する。反応処理部2107は、ユーザ8のコメントに対応するテキストデータを、表示部352に表示してもよいし、ユーザ8のコメントに対応する音声データを、図示しないスピーカから出力してもよい。
  (サーバ600の機能的構成)
 制御部6100は、記憶部6200に格納されたゲームプログラム631を実行することにより、サーバ600を統括的に制御する。例えば、制御部6100は、ユーザ端末800に各種データおよびプログラム等を送信する。制御部6100は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末800から受信する。ゲームがマルチプレイゲームである場合には、制御部6100は、HMDセット110からマルチプレイの同期の要求を受信して、同期のためのデータをHMDセット110に送信してもよい。また、制御部6100は、必要に応じて、ユーザ端末800およびHMDセット110と通信して、情報の送受信を行う。
 制御部6100は、ゲームプログラム631の記述に応じて、進行支援部6101および共有支援部6102として機能する。制御部6100は、実行するゲームの性質に応じて、ユーザ端末800におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
 進行支援部6101は、ユーザ端末800と通信し、ユーザ端末800が、本ゲームに含まれる各種パートを進行するための支援を行う。例えば、進行支援部6101は、ユーザ端末800が、ゲームを進行させるとき、該ゲームを進行させるために必要な情報をユーザ端末800に提供する。
 共有支援部6102は、複数のユーザ端末800及びHMDセット110と通信し、これらの装置間でゲームの進行及び仮想空間11を共有するための支援を行う。また、共有支援部6102は、オンラインのユーザ端末800とHMDセット110とをマッチングする機能を有していてもよい。これにより、ユーザ端末800とHMDセット110との間の情報の送受信が円滑に実施される。
  (ユーザ端末800の機能的構成)
 制御部8100は、記憶部8200に格納されたゲームプログラム831を実行することにより、ユーザ端末800を統括的に制御する。例えば、制御部8100は、ゲームプログラム831およびユーザ8の操作に従って、プレイヤ5によるゲームの進行を支援する。また、制御部8100は、プレイヤ5によるゲームの進行中、必要に応じて、サーバ600を介してHMDセット110と通信して、情報の送受信を行う。
 制御部8100は、ゲームプログラム831の記述に応じて、操作受付部8101、表示制御部8102、UI制御部113、アニメーション生成部8104、ゲーム進行部8105、仮想空間制御部8106、および進捗情報生成部8107として機能する。制御部8100は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
 操作受付部8101は、入力部8701に対するユーザ8の入力操作を検知し受け付ける。操作受付部8101は、タッチスクリーン870およびその他の入出力IF14を介したコンソールに対してユーザ8が及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部8100の各要素に出力する。操作受付部8101の機能の詳細は、HMDセット110における操作受付部2101のそれとほぼ同様である。
 例えば、操作受付部8101は、入力部8701に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部8101は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部8101は、連続して検知されていた入力が途切れると、タッチスクリーン870から接触入力が解除されたことを検知する。
 UI制御部8103は、UIを構築するために表示部8702に表示させるUI画像を制御する。UI画像は、ユーザ8が、ゲームの進行上必要な入力をユーザ端末800に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末800から得るためのツールである。UI画像は、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
 アニメーション生成部8104は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部8104は、オブジェクトがまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
 表示制御部8102は、タッチスクリーン870の表示部8702に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部8102は、アニメーション生成部8104によって生成されたアニメーションを含むゲーム画面を表示部8702に表示してもよい。また、表示制御部8102は、UI制御部8103によって制御される上述のUI画像を、該ゲーム画面に重畳して描画してもよい。さらに、表示制御部8102は、HMDセット110から供給されたゲーム情報に基づいて、各種ゲームパラメータを該ゲーム画面に重畳して描画してもよい。
 仮想空間制御部8106は、HMDセット110との間で仮想空間11を共有するための各種の制御を行う。図17は、仮想空間制御部8106の詳細な構成を示す図である。図17に示すように、仮想空間制御部8106は、仮想オブジェクト生成モジュール8121と、仮想カメラ制御モジュール8122と、アバターオブジェクト制御モジュール8124と、仮想オブジェクト制御モジュール8127とを含む。
 仮想オブジェクト生成モジュール8121は、図12を参照して説明した仮想オブジェクト生成モジュール1421と同様に構成される。ここで、ユーザ端末800において生成される仮想オブジェクトは、HMDセット110において生成される仮想オブジェクトに同期する。ただし、各仮想オブジェクトを同期するか否かは、仮想オブジェクト毎に定められていてもよい。例えば、HMDセット110で生成された仮想オブジェクトのうち、ユーザ端末800では生成されないものがあってもよい。また、HMDセット110で生成された仮想オブジェクトのうち、ユーザ端末800において異なる表示形態で生成されるものがあってもよい。表示形態とは、例えば、色、透明度等であってもよいが、これらに限られない。さらに、ユーザ端末800において生成される仮想空間11においては、HMDセット110で生成された仮想オブジェクト以外の仮想オブジェクトが含まれるものであってもよい。
 仮想カメラ制御モジュール8122は、図12を参照して説明した仮想カメラ制御モジュール1422と同様に構成される。ここで、ユーザ端末800A、800C、800Dにおいて実現される仮想空間11A、11C、11Dに配置される仮想カメラ20A、20C、20Dは、HMDセット110において実現される仮想空間11に配置される仮想カメラ14とは異なるものである。つまり、HMDセット110及びユーザ端末800間で共有される仮想空間11の視界画像は、HMDセット110及びユーザ端末800間で異なり得る。
 ユーザ端末800A、800C、800Dにおいて、仮想カメラ20A、20C、20Dの位置及び方向は、ユーザ8A、8C、8Dによって操作可能であってもよいし、操作不能であってもよい。また、操作不能である場合、仮想カメラ20A、20C、20Dの位置及び方向は、同一であってもよい。この場合、複数のユーザ8は、各ユーザ端末800を通して、共通の視界画像を視聴することになる。つまり、この場合、複数のユーザ8は、共通の仮想カメラで撮影された視界画像(ライブ映像)を視聴することができる。
 本実施形態では、仮想カメラ20A、20C、20Dの位置及び方向がユーザ8A、8C、8Dによって操作可能であり、複数のユーザ8が互いに異なる視界画像を視聴する例を中心に説明する。ある局面では、仮想カメラ20Aの位置および方向は、ユーザ端末800Aのタッチスクリーンに対するスライド操作(あるいはスワイプ操作)等に応じて変化する。例えば、仮想カメラ20Aの位置は、左方向へのスライド操作に応じて左方向に移動し、右方向へのスライド操作に応じて右方向に移動し、上方向へのスライド操作に応じて上方向に移動し、下方向へのスライド操作に応じて下方向に移動する。このとき、仮想カメラ20Aの向きは、例えば、アバターオブジェクト6が視界領域21に収まるように(具体的にはアバターオブジェクト6が視界領域21の中心となるように)調整される。
 アバターオブジェクト制御モジュール8124は、図12を参照して説明したアバターオブジェクト制御モジュール1424に対して、HMD120の動き又はコントローラ300の動きに応じて動作することに替えて、動作指図データに応じて動作する点が異なる他は、同様に構成される。動作指図データは、HMD120動き又はコントローラ300の動きに応じてHMDセット110において生成され、ユーザ端末800に配信される。
 仮想オブジェクト制御モジュール8127は、図12を参照して説明した仮想オブジェクト制御モジュール1427に対して、動作指図データに応じて動作する点が異なる他は、同様に構成される。動作指図データは、HMDセット110におけるアバターオブジェクト6以外の仮想オブジェクトの挙動を表すようHMDセット110において生成され、ユーザ端末800に配信される。
 このように、仮想空間制御部8106は、動作指図データを解析して(レンダリングして)、解析結果に基づいてアバターオブジェクト6および仮想オブジェクトなどを動作させる。本実施形態では、仮想空間制御部8106は、HMDセット110によって供給された動作指図データが通信IF33を介して受信されたことをトリガにして、該データに基づいてアバターオブジェクト6又は他の仮想オブジェクトを動作させる。これにより、リアルタイムで動作するアバターオブジェクト6及び他の仮想オブジェクトを、ユーザ8に見せることが可能となる。
 ゲーム進行部8105は、操作受付部8101を介して入力されるユーザ8の入力操作に応じて、HMDセット110のプレイヤ5によるゲームの進行を支援する。例えば、ゲーム進行部8105は、ゲームの進行中に、アイテムオブジェクトを仮想空間11に配置することにより、プレイヤ5によるゲームの進行を支援する。
 進捗情報生成部8107は、ゲーム進行部8105が実行しているゲーム支援の進捗を示す進捗情報を生成し、適時、サーバ600またはHMDセット110に送信する。進捗情報は、例えば、現在表示されているゲーム画面を指定する情報を含んでいてもよいし、ゲームの進捗を、時系列で文字および記号等によって示した進行ログを含んでいてもよい。HMDシステム100において、サーバ600およびHMDセット110が進捗情報を必要としない実施形態では、進捗情報生成部8017は省略されてもよい。
 なお、図15に示すHMDセット110、サーバ600およびユーザ端末800の機能は一例にすぎない。HMDセット110、サーバ600およびユーザ端末800の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、HMDセット110、サーバ600およびユーザ端末800以外のさらに別の装置をHMDシステム100の構成要素とし、該別の装置にHMDシステム100における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、HMDセット110、サーバ600およびユーザ端末800およびそれ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
 なお、図15に示すサーバ600およびユーザ端末800の機能は一例にすぎない。サーバ600は、ユーザ端末800が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末800は、サーバ600が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末800およびサーバ600以外の他の装置をHMDシステム100の構成要素とし、該他の装置にHMDシステム100における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末800、サーバ600、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
 <ゲーム概要>
 図18(A)~図18(D)を参照して、本実施形態に係るHMDシステム100が実行するゲーム(以下、本ゲーム)は、一例として、銃、ナイフ等の武器を操作するアバターオブジェクト6と、複数の敵オブジェクト23とを仮想空間11に登場させ、アバターオブジェクト6に敵オブジェクト23との対戦を行わせるゲームである。アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト23の残数等の各種ゲームパラメータは、ゲームの進行に応じて更新される。
 本ゲームには、複数のステージが用意されており、プレイヤ5は、各ステージに関連付けられている所定の達成条件を成立させることにより、当該ステージをクリアすることができる。所定の達成条件としては、例えば、出現する敵オブジェクト23をすべて倒すことや、出現する敵オブジェクト23のうちボスオブジェクトを倒すこと、所定のアイテムを獲得すること、所定位置に到達することなどにより成立する条件を含むものであってもよい。
 本ゲームでは、HMDセット110及び複数のユーザ端末800の間で仮想空間11を共有するために、上記各種ゲームパラメータを含むゲーム情報と、オブジェクトを配置・動作等させるための動作指図データとが、所定時間毎に複数のユーザ端末800にライブ配信される。
 この結果、ゲームを視聴中のユーザ端末800のタッチスクリーン870には、仮想空間11のうち、ユーザ端末800に対応する仮想カメラ20によって規定される視界領域21の視界画像1400が表示される。また、視界画像1400の右上段および左上段には、アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト23の残数等を表すパラメータ画像が重畳的に表示される。
 動作指図データの詳細は次のとおりである。即ち、ライブ配信中、HMDセット110のコンピュータ200は、プレイヤ5の操作に応じてアバターオブジェクト6の動作を制御するための動作指図データ、ゲームプログラムに従って敵オブジェクト23等の他のオブジェクトの配置・動作等を制御するための動作指図データなどを生成し、当該動作指図データをサーバ600を介して複数のユーザ端末800に配信する。複数のユーザ端末800の各々は、当該動作指図データを受信したことをトリガにして、当該動作指図データを解析する(レンダリングする)。
 即ち、当該動作指図データは、配置するオブジェクトの種別、オブジェクトの位置、姿勢、向き等を特定するための情報を含んでおり、ユーザ端末800は、当該動作指図データを解析することにより、どのオブジェクトを仮想空間11内のどの位置にどのような姿勢・向きで配置するか等を特定する。
 ユーザ端末800のメモリ820には、アバターオブジェクト6、敵オブジェクト23等のオブジェクトデータが予め記憶されている。ユーザ端末800は、当該オブジェクトデータを用いて、当該動作指図データの解析結果に応じた種別のオブジェクトを、当該解析結果に応じた仮想空間11内の位置に、当該解析結果に応じた姿勢・向き等で配置する。ユーザ端末800により規定された仮想空間11におけるアバターオブジェクト6、敵オブジェクト23等の配置や動きは、コンピュータ200により規定された仮想空間11におけるアバターオブジェクト6、敵オブジェクト23等の配置や動きと一致する。
 HMDセット110のコンピュータ200は、本ゲームを視聴中のユーザ端末800の数(視聴者数)に応じて、本ゲームの難易度に相当するレベルデザインを変動させる。即ち、コンピュータ200は、複数のステージの各々が開始される際の視聴者数に応じて、当該ステージに関連付けられた達成条件を成立させる難易度を調整する。ある局面では、コンピュータ200は、視聴者数が多くなると後述するように視聴者から多くの支援を期待できる結果、プレイヤ5がゲームを簡単にクリアしてしまうことを防止するために、ゲームの難易度を高くする。
 当該難易度は、例えば、敵オブジェクト23の戦闘能力および出現量と、アバターオブジェクト6の戦闘能力とに基づいて規定される。ある局面では、コンピュータ200は、視聴者数が0人であるとき、敵オブジェクト23の戦闘能力および出現量、アバターオブジェクト6の戦闘能力の各々を初期値に設定し、視聴者数が多くなるほど、敵オブジェクト23の戦闘能力や出現量の各々を当該初期値から増大させたりしてもよいし、アバターオブジェクト6の戦闘能力を当該初期値から減少させたりしてもよい。初期値が設定される視聴者の人数は、視聴者数が0人である場合でなく、0人以外の任意の人数である場合としてもよい。
 ある局面では、敵オブジェクト23の戦闘能力は、当該敵オブジェクト23の移動速度(俊敏さ)および体力により規定され、敵オブジェクト23の出現量は、現ステージに出現する敵オブジェクト23の総数および出現頻度により規定される。また、アバターオブジェクト6の戦闘能力は、当該アバターオブジェクト6の移動速度(俊敏さ)、体力、および装備する武器・防具の種類による補正値などにより規定される。
 ユーザ端末800のタッチスクリーン870においては、アバターオブジェクト6を支援するためのアイテム投入操作をユーザ8から受け付けるためのUI画像22が、仮想空間11を表す画像に重畳して表示される。UI画像22には、例えば、マガジン、救急箱、障害物(三角コーン、バリケード等)のアイコンが描かれており、アイテム投入操作は、いずれかのアイコンをタップする操作に相当する。
 ユーザ8が当該アイテム投入操作を行うと、ユーザ端末800は、ユーザ8が購入して所有している仮想通貨(価値アイテム)を消費し、プレゼント箱のような予め定められた演出オブジェクト24(図18(C)参照)を仮想空間11に配置する。演出オブジェクト24による演出(以下、投入時演出ともいう)は、所定時間(例えば2秒)に亘り実行される。当該投入時演出は、例えば、プレゼント箱を配置すると同時にカウントダウンを表示し、カウント値が0になったタイミングで当該プレゼント箱の蓋を開くというものである。なお、当該プレゼント箱の大きさ、形、色等は、投入されたアイテムの種別にかかわらず同じであってもよく、アイテムの種別や消費した仮想通貨の量に応じて異なるものであってもよい。仮想通貨は、例えば課金やゲーム内のクエストクリア等によりユーザ8に関連付けられる。仮想通貨は、有償であってもよいし、無償であってもよい。
 また、図19を参照して、ユーザ端末800は、当該アイテム投入操作に応じて、アイテム投入情報をサーバ600を介してコンピュータ200に送信する。当該アイテム投入情報には、アイテム投入操作により指定されたアイテムの種別を特定するための情報や、コンピュータ200が当該アイテムを仮想空間11に配置し、または仮想空間11内で使用可能とするという支援効果(支援作用)を発動させるタイミングを特定するための情報が含まれる。ここで、当該支援効果の発動タイミングは、演出オブジェクト24による演出が終了するタイミング(即ち、演出オブジェクト24が仮想空間11に配置されてから当該所定時間が経過したタイミング)と一致するように定められている。なお、演出を行わず、アイテム投入が行われてから、即時あるいは一定時間経過後に当該アイテムの支援効果を発動するようにしてもよい。
 投入するアイテムが障害物であれば、ユーザ端末800は、仮想カメラ20の視野内の一部の範囲をアイテム投入範囲として特定する。このとき、当該アイテム投入情報には、当該アイテム投入範囲を特定するための情報が含まれる。なお、アイテム投入範囲は、例えばアバターオブジェクト6の周辺の範囲である。
 アイテム投入情報を受信したとき、コンピュータ200は、アバターオブジェクト6を支援するべく、当該アイテム投入情報から特定されるアイテム種別に対応するアイテムを、当該アイテム投入情報から特定される発動タイミング(より具体的には、当該アイテム投入情報を受信してから当該所定時間が経過したタイミング)で、仮想空間11に配置し、または仮想空間11内で使用可能とする。
 この結果、当該アイテム種別がマガジンであれば、コンピュータ200は、アバターオブジェクト6が使用する銃の残弾数を、当該発動タイミングで回復させる。また、当該アイテム種別が救急箱であれば、コンピュータ200は、アバターオブジェクト6の体力を、当該発動タイミングで回復させる。さらに、当該アイテム種別が障害物であれば、コンピュータ200は、当該アイテム投入情報から特定されるアイテム投入範囲内のいずれかの位置をアイテム投入位置として特定し、当該障害物を表すオブジェクトを当該発動タイミングで当該アイテム投入位置に配置する。障害物は、例えば、敵オブジェクト23の進行や攻撃を阻害する機能を有するアイテムである。このため、障害物は、障害物を配置することにより、アバターオブジェクト6を支援するアイテムであるといえる。
 コンピュータ200は、現ステージが開始される際の視聴者数に応じて、当該支援効果の程度(大きさ)を調整する。ある局面では、コンピュータ200は、視聴者数が0人であるとき、当該支援効果の程度を初期値に設定し、視聴者数が多くなるほど、当該支援効果の程度を減少させる。当該支援効果の程度は、アバターオブジェクト6が使用する銃の残弾数およびアバターオブジェクト6の体力については回復量により規定され、障害物については大きさ、強度、重さ等により規定される。
 このため、当該支援効果の程度が増大されると、銃の残弾数の回復量またはアバターオブジェクト6の体力の回復量が増大し、障害物の大きさ、強度、重さ等が増大する。銃の残弾数の回復量またはアバターオブジェクト6の体力の回復量の増大は、アバターオブジェクト6の戦闘時間の延長をもたらし、障害物の大きさ、強度、重さ等の増大は、敵オブジェクト23がアバターオブジェクト6に到達するまでの時間の長期化をもたらす。
 投入されたアイテムが障害物であるとき、コンピュータ200は、当該障害物のオブジェクトの種別、当該オブジェクトの位置および姿勢を特定するための情報を含む動作指図データを生成し、当該動作指図データをサーバ600を介して複数のユーザ端末800に配信する(図19参照)。
 各ユーザ端末800は、当該動作指図データを解析することにより、配置するアイテムオブジェクトの種別、アイテムオブジェクトの位置および姿勢を特定する。また、各ユーザ端末800は、当該解析結果に基づき、メモリ820に予め記憶されているオブジェクトデータを用いて、アイテムオブジェクトを仮想空間11に配置する。
 このように、オブジェクトデータを予めユーザ端末800側において格納し、オブジェクトを配置させる際には、動画データよりも格段にデータ量が少ない動作指図データを複数のユーザ端末800に送信する。その結果、アイテムが投入されてからアイテムオブジェクトをユーザ端末800において表示させるまでの期間を短縮しつつ、アイテムオブジェクトの配置タイミングを複数のユーザ端末800各々において同期させることができる。また、アイテム投入操作を行ったユーザ端末800においては、演出オブジェクト24による演出が終了すると同時に、当該アイテムオブジェクトが仮想空間11に配置される。
 (動作について)
 図20および図21は、本ゲームの基本的なゲーム進行についてその一例を示すフローチャートである。ここで、図20に示すフローチャートに従う処理は、ユーザ端末800の制御部8100に設けられた操作受付部8101、表示制御部8102、UI制御部8103、アニメーション生成部8104、ゲーム進行部8105、仮想空間制御部8106、進捗情報生成部8107が協働することにより実行される。また、図21に示すフローチャートに従う処理は、コンピュータ200の制御部2100に設けられた操作受付部2101、表示制御部2102、UI制御部2103、アニメーション生成部2104、ゲーム進行部2105、仮想空間制御部2106、反応処理部2107が協働することにより、所定時間(例えば1/60秒)毎に実行される。
 なお、図20および図21に示すフローチャートの処理の一部はサーバ600において実行し、処理結果をユーザ端末800またはコンピュータ200に送信するようにしてもよい。また、ユーザ端末800とコンピュータ200との間での情報の送受信は、サーバ600を介して実行されるものであるが、これに限らず、サーバ600を介することなく実行されるものであってもよい。
 図20を参照して、ステップS01では、ユーザ8によって視聴開始操作が行われたか否かを、タッチスクリーン870からの操作入力に基づいて判定する。視聴開始操作が行われたと判定されると、ステップS02に進み、コンピュータ200に対して視聴開始情報を送信する。ステップS03では、ストレージ830に記憶されている仮想空間データに基づいて仮想空間11を規定する。ステップS04では、仮想カメラ20を当該仮想空間11の予め定められた初期位置に配置する。仮想カメラ20の初期位置は、例えば、図4に示す仮想空間11の中心12を斜め上から捉える位置である。
 ステップS05では、コンピュータ200から配信された動作指図データおよびゲーム情報を受信する。ステップS06では、当該動作指図データを解析することにより、アバターオブジェクト6、敵オブジェクト23等の仮想オブジェクトをどの位置にどのような姿勢で配置するかを特定する。ステップS06では、当該解析結果とメモリ820に記憶されているオブジェクトデータとに基づいて、アバターオブジェクト6、敵オブジェクト23等の仮想オブジェクトを仮想空間11に配置し、または既に配置されている仮想オブジェクトを動作させる。ステップS06では、アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト23の残数等の各種ゲームパラメータ値を、当該ゲーム情報に基づいて特定する。
 後述するように、動作指図データおよびゲーム情報は、コンピュータ200から所定時間(1/60秒)毎に送信される。このため、ステップS06においては、受信した動作指図データに基づき仮想空間11内のオブジェクトを当該所定時間毎に更新し、受信したゲーム情報に基づき各種ゲームパラメータ値を当該所定時間毎に更新する。なお、仮想空間11に配置されるオブジェクトには、ユーザ8により投入されたアイテムのオブジェクトも含まれる。
 ステップS07では、現在の仮想カメラ20の位置および向きに応じた視界領域21を規定し、当該視界領域21に対応する視界画像1400を生成する。ステップS08では、アイテム投入操作をユーザ8から受け付けるためのUI画像22と、上記の各種ゲームパラメータ値を表すパラメータ画像とを、当該視界画像1400に重畳し、タッチスクリーン870に表示する(図18参照)。この結果、タッチスクリーン870には、本ゲームのゲームプレイ映像が表示される。
 UI画像22には、ユーザ8からアイテム投入操作を受け付けるためのアイコン等が描かれる。ある局面では、アイテムは、アバターオブジェクト6が使用する銃のマガジン、アバターオブジェクト6の体力を回復させるための救急箱、敵オブジェクト23の攻撃を妨害するための三角コーンやバリケード等の障害物を含む。
 なお、各々のアイテムには、当該アイテムの投入するために必要な仮想通貨の消費量と、アバターオブジェクト6を応援するためのポイントとが関連付けられている。アイテムに関連付けられているポイントは、当該アイテムの投入するために必要な仮想通貨の消費量に応じた値が定められており、例えば、仮想通貨の消費量が大きい程、大きなポイントが定められている。
 また、アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数を表すパラメータ画像は、視界画像1400の右上段に重畳して表示され、敵オブジェクト23の残数を表すパラメータ画像は、視界画像1400の左上段に重畳して表示される。
 ステップS09では、UI画像22上でアイテム投入操作が行われたか否かを、タッチスクリーン870からの操作入力に基づいて判定する。当該アイテム投入操作が行われたと判定されたときは、ステップS10に進む。
 ステップS10では、ユーザ8所有の仮想通貨のうちから、投入したアイテムに対応する仮想通貨を消費する。即ち、仮想通貨は、アイテム投入操作が行われると当該アイテムに応じた量だけ消費される。
 アイテム投入操作により指定されたアイテムが障害物であれば、ステップS11において、仮想カメラ20の位置および向き(視点)に基づいて、視界画像1400内の一部の範囲をアイテム投入範囲として特定する。例えば、図18(B)に示すように、仮想カメラ20がアバターオブジェクト6の右側から仮想空間11を広角で捉えている状況では、アバターオブジェクト6の前方の床面をアイテム投入範囲として特定する。ステップS11の処理が完了すると、ステップS12に進む。また、アイテム投入操作により指定されたアイテムがマガジンまたは救急箱であれば、ステップS11の処理を実行することなくステップS12に進む。
 ステップS12では、アイテム投入情報をコンピュータ200に対して送信する。アイテム投入情報には、アイテム投入操作により指定されたアイテムの種別、当該アイテムによる支援効果を発動させるタイミング、当該アイテムに関連付けられたポイントの量、当該アイテム投入操作を行ったユーザ8のIDを特定するための情報が含まれる。また、ステップS11の処理が実行された場合、当該アイテム投入情報には、当該アイテム投入範囲(仮想カメラ20の視点)を特定するための情報も含まれる。なお、当該アイテムに関連付けられたポイントの量をコンピュータ200で管理する場合、当該ポイントの量はアイテム投入情報に含まれていなくてもよい。
 ステップS13では、投入されたアイテムとは異なる(投入アイテムにかかわらない)所定の演出オブジェクト24を仮想空間11に配置する。演出オブジェクト24は、例えば、仮想空間11における仮想カメラ20の位置とアバターオブジェクト6の位置との間に配置される。ここで、演出オブジェクト24は、例えば、プレセント箱である。当該演出オブジェクト24による演出では、プレゼント箱が配置されると同時にカウントダウンが開始され、カウント値が0になると蓋が開かれる。また、当該演出は、演出オブジェクト24が仮想空間11に配置されてから所定時間(2秒)が経過したタイミングで終了する。
 図19を参照して、アイテム投入操作により指定されたアイテムのオブジェクトは、当該オブジェクトに対応する動作指図データをコンピュータ200から受信することにより、複数のユーザ端末800の各々において規定された仮想空間11に配置される。
 即ち、アイテム投入操作を行ったユーザ端末800においては、当該ユーザ端末800により規定される仮想空間11において、当該アイテム投入操作に応じて演出オブジェクト24が配置され、当該配置から所定時間が経過したときに送信される動作指図データに基づいてアイテムオブジェクトが配置される。一方、他のユーザ端末800においては、演出オブジェクト24が仮想空間11に配置されることはなく、アイテム投入操作を行ったユーザ端末800においてアイテムオブジェクトが配置されるタイミングと同じタイミングで、当該アイテムオブジェクトが当該仮想空間11に配置される。ステップS13の処理が完了したとき、またはステップS09でアイテム投入操作が行われたと判定されなかったときは、ステップS14に進む。
 なお、ユーザ8は、ユーザ端末800を操作することによりアバターオブジェクト6に対するコメントを入力して送信することも可能である。当該コメントは、視聴している期間(例えばステップS05~S14の処理が実行される期間)にコンピュータ200に送信される。コンピュータ200は、ユーザ端末800から当該コメントを受信したとき、ユーザ名をディスプレイ430に表示可能である。プレイヤ5は、当該コメントに対するコメントを入力できる。ユーザおよびプレイヤ5が入力したコメントは、コンピュータ200から複数のユーザ端末800に配信される。各ユーザ端末800において、当該コメントは、視界画像1400に重畳してタッチスクリーン870に表示される。
 ステップS14では、ユーザ8によって視聴終了操作が行われたか否かを、タッチスクリーン870からの操作入力に基づいて判定する。視聴終了操作が行われたと判定されなかったときは、ステップS05に戻る。これにより、コンピュータ200から動作指図データを受信する毎に、オブジェクトの動きや配置などを制御する処理が繰返し実行される。
 一方、視聴終了操作が行われたと判定されたときは、ステップS15でコンピュータ200に対して視聴終了情報を送信し、その後に処理を終了する。
 図21を参照して、ステップS21では、本ゲームのステージが開始されるタイミングであるか否かを、ゲームの進行状況を示すゲームパラメータに基づいて判定する。ステージが開始されるタイミングであると判定されたときは、ステップS22に進む。ステップS22では、ユーザ端末800から視聴開始時に送信(図20のステップS02)される視聴開始情報と、ユーザ端末800から視聴終了時に送信(図20のステップS15)される視聴終了情報とに基づいて、現在の視聴者数、即ち現時点でゲームを視聴しているユーザ端末800の数を特定する。
 ステップS23では、ユーザ8により投入されたアイテムに関連付けられているポイントをプラス(増大)方向に調整するためのポイント調整量を、当該視聴者数に応じて特定する。具体的には、視聴者数が増大するほど、ポイント調整量を増大させる。例えば、視聴者数が0人のときは、ポイント調整量を0%増に設定し、視聴者数が1人以上100人未満のときは、ポイント調整量を5%増に設定し、視聴者数が101人以上200人未満のときは、ポイント調整量は10%増に設定し、視聴者数が201人以上のときは、ポイント調整量を20%増に設定する。
 後述するように、当該ポイントは、アバターオブジェクト6に付与される。アバターオブジェクト6は、付与されたポイントが所定値に到達したときにガチャ操作を行うことによって、アイテムを取得できる。当該アバターオブジェクト6は、取得したアイテムを用いることにより、達成条件を成立させる可能性を高めることが可能となり、ゲームの進行をプレイヤにとって有利にすることができる。
 ステップS24では、今から開始するステージの難易度と、アバターオブジェクト6を支援するための支援効果の程度とを、当該ステージを視聴する視聴者数に応じて調整する。具体的に、ステージの難易度については、視聴者数が多くなるほど、敵オブジェクト23の戦闘能力や出現量を増大させ、アバターオブジェクト6の戦闘能力を減少させることにより、達成条件が成立し難くなるように調整する。また、支援効果の程度については、視聴者数が多くなるほど、銃の残弾数の回復量またはアバターオブジェクト6の体力の回復量を減少させ、障害物の大きさ、強度、重さ等を減少させることにより、当該支援効果を減少させる。
 例えば、視聴者数が0人のときは、敵オブジェクト23の戦闘能力および出現量、アバターオブジェクト6の戦闘能力、銃の残弾数の回復量、アバターオブジェクト6の体力の回復量、障害物の大きさ、強度、重さを初期値に設定する。視聴者数が1人以上100人未満のときは、敵オブジェクト23の戦闘能力および出現量を初期値に対して5%増に設定し、アバターオブジェクト6の戦闘能力を初期値に対して5%減に設定し、銃の残弾数の回復量、アバターオブジェクト6の体力の回復量、障害物の大きさ、強度、重さを初期値に対して5%減に設定する。
 視聴者数が101人以上200人未満のときは、敵オブジェクト23の戦闘能力および出現量を初期値に対して10%増に設定し、アバターオブジェクト6の戦闘能力を初期値に対して10%減に設定し、銃の残弾数の回復量、アバターオブジェクト6の体力の回復量、障害物の大きさ、強度、重さを初期値に対して10%減に設定する。視聴者数が201人以上のときは、敵オブジェクト23の戦闘能力および出現量を初期値に対して20%増に設定し、アバターオブジェクト6の戦闘能力を初期値に対して20%減に設定し、銃の残弾数の回復量、アバターオブジェクト6の体力の回復量、障害物の大きさ、強度、重さを初期値に対して20%減に設定する。
 なお、敵オブジェクト23の戦闘能力は、例えば、敵オブジェクト23の移動速度(俊敏さ)や現ステージの戦闘開始時の体力により規定される。また、敵オブジェクト23の出現量は、例えば、現ステージに出現する敵オブジェクト23の総数や、現ステージにおける敵オブジェクト23の出現頻度により規定される。アバターオブジェクト6の戦闘能力は、例えば、アバターオブジェクト6の移動速度(俊敏さ)、現ステージの戦闘開始時の体力、装備する武器・防具の種類による補正値などにより規定される。
 ステップS24の処理が完了すると、ステップS25に進む。また、ステップS21でステージが開始されたと判定されなかったときは、ステップS22~S24の処理を実行することなくステップS25に進む。
 ステップS25では、ユーザ端末800からアイテム投入情報を受信したか否かを、通信IF250からの入力に基づいて判定する。当該アイテム投入情報を受信したと判定されたときは、ステップS26に進み、アバターオブジェクト6に応援ポイントを付与する。具体的には、アイテム投入情報に含まれているポイントの量をステップS23で特定されたポイント調整量に基づいて補正し、補正されたポイントの量をアバターオブジェクト6に付与する。例えば、アイテム投入情報に含まれているポイントの量が50ポイントで、ステップS23で特定されたポイント調整量が10%増であれば、55ポイント(=50×1.1)が応援ポイントとしてアバターオブジェクト6に付与される。
 ステップS27では、アイテム投入範囲を特定するための情報が当該アイテム投入情報に含まれている場合に、当該アイテム投入範囲内の任意の位置をアイテム投入位置として特定する。ただし、アイテム投入範囲の中央位置を当該アイテム投入位置として特定するようにしてもよく、アイテム投入範囲内の位置のうちアバターオブジェクト6と敵オブジェクト23との位置関係に応じた位置(例えば、アバターオブジェクト6と、アバターオブジェクト6に最も近い敵オブジェクト23との間の位置)を当該アイテム投入位置として特定するようにしてもよい。
 ステップS27の処理が完了すると、ステップS28に進む。また、アイテム投入範囲を特定するための情報が当該アイテム投入情報に含まれていなければ、ステップS27の処理を実行することなく、ステップS28に進む。ステップS28では、当該アイテム投入情報に基づいて、アイテム投入操作により指定されたアイテムの種別と、アイテムオブジェクトを仮想空間11に配置させて支援効果を発動させるタイミングとを特定する。具体的には、図示しない発動管理テーブルに、当該アイテムの種別と、当該支援効果の発動タイミング(即ち、当該アイテム投入情報を受信してから当該所定時間が経過したタイミング)とを設定する。
 ステップS28の処理が完了すると、ステップS29に進む。また、ステップS25でアイテム投入情報を受信したと判定されなかったときも、ステップS29に進む。ステップS29では、当該発動管理テーブルに設定されている発動タイミング(アイテムオブジェクトの配置タイミング)が到来したか否かを、コンピュータ200に設けられているタイマ(図示せず)に基づいて判定する。
 アイテム投入情報を未だ受信していないときや、アイテム投入情報を受信したものの当該発動タイミングが到来していないときは、ステップS29において発動タイミングが到来したとは判定されない。このときは、ステップS30の処理を実行することなくステップS31に進む。
 一方、当該発動タイミングが到来したと判定されたときは、ステップS30に進み、発動管理テーブルに設定されているアイテムの種別に応じた支援効果を発動させる。このとき、アイテムを投入したユーザのユーザIDを複数のユーザ端末800に配信するようにしてもよい。各ユーザ端末800において、当該ユーザIDを表す画像は、視界画像1400に重畳してタッチスクリーン870に表示される。
 ステップS30では、具体的には、当該アイテムがマガジンであれば、アバターオブジェクト6が使用する銃の残弾数を回復させてゲーム進行をプレイヤ5に有利にし、当該アイテムが救急箱であれば、アバターオブジェクト6の体力を回復させてゲーム進行をプレイヤ5に有利にする。また、当該アイテムが障害物であれば、仮想空間11内の位置のうちステップS27で特定したアイテム投入位置に、当該障害物のオブジェクトを配置してゲーム進行をプレイヤ5に有利にする。なお、弾数や体力の回復量、障害物の大きさ、強度、重さ等は、ステップS24で調整された支援効果の程度に応じて規定される。ステップS30の処理が完了すると、ステップS31に進む。
 ステップS31では、アバターオブジェクト6によりガチャ操作が行われたか否かを、コントローラ300またはモーションセンサ420からの入力に基づいて判定する。ガチャ操作は、アバターオブジェクト6に付与された応援ポイントが所定値に到達することにより可能となる。当該ガチャ操作が行われたと判定されたときは、ステップS32に進み、アバターオブジェクト6に付与された応援ポイントを消費してアイテムを取得する。
 ガチャ操作により取得するアイテムは、例えば、ユーザ8により投入可能なアイテムと異なるユニークなアイテムを含む。また、ガチャ操作により取得するアイテムは、ユーザの支援の有無にかかわらず使用できるアイテムを含む。なお、取得するアイテムは、ユーザ8により投入可能なアイテムと同じアイテムであったり、ユーザ8による支援により使用可能となるアイテムであってもよい。
 ステップS33では、取得したアイテムに応じた成立可能性向上効果(達成条件が成立する可能性を向上させる向上作用)を発動させる。具体的には、当該アイテム(例えばナイフ)のオブジェクトをアバターオブジェクト6の前方の床面に配置する(例えば、ナイフを落下)。アバターオブジェクト6は、当該オブジェクトを使用して敵オブジェクト23と対戦できる。これにより、ゲームをクリアする可能性を高めることができる。なお、当該オブジェクトの威力(例えば、大きさ)は、ステップS24で調整された支援効果の程度に応じて規定するようにしてもよい。
 ステップS33の処理が完了すると、ステップS34に進む。また、ステップS31でガチャ操作が行われたと判定されなかったときは、ステップS32およびS33の処理を実行することなく、ステップS34に進む。ステップS34では、ゲームプログラムに基づいてゲームを進行させる。具体的には、ステップS24で調整された難易度に応じた態様で、アバターオブジェクト6、敵オブジェクト23、その他オブジェクト(ステップS30で投入されたアイテムオブジェクトを含む)について、仮想空間11内における配置・移動・変更等の更新を行う。また、当該難易度に応じた態様で、アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト23の残数等の各種ゲームパラメータを初期設定または更新等する。
 ステップS35では、ステップS34において更新された仮想空間11内のオブジェクトに基づいて、アバターオブジェクト6の配置・動作等や、敵オブジェクト23等の他のオブジェクトの配置・動作等を特定可能にするための動作指図データを生成し、当該動作指図データを複数のユーザ端末800に配信する。ステップS30の処理によって障害物のオブジェクトが仮想空間11に配置された場合、当該オブジェクトが配置されたことを特定するための動作指図データは、このステップで配信する。ステップS35では、ステップS34において初期設定または更新等された各種ゲームパラメータを含むゲーム情報を生成し、当該ゲーム情報を複数のユーザ端末800に配信する。
 上述のように、図21に示すフローチャートに従う処理は、所定時間(1/60秒)毎に実行される。このため、動作指図データおよびゲーム情報は、当該所定時間毎に、サーバ600を介して複数のユーザ端末800に配信される。各ユーザ端末800においては、当該動作指図データおよびゲーム情報に基づいて、ゲームプレイ映像がタッチスクリーン870に表示される。ステップS35の処理が完了すると、リターンする。
 <本実施形態の効果>
 本実施形態によれば、仮想空間11に登場するアバターオブジェクト6が所定の達成条件を成立させることによりクリアとなるゲームのゲームプレイ映像は、コンピュータ200から配信される動作指図データに基づいて、複数のユーザ端末800の各々に表示される。コンピュータ200は、ゲームプレイ映像を表示しているユーザ端末800の数、即ち視聴者数を特定し、当該視聴者数に応じて達成条件を成立させる難易度を調整する。
 これによって、アイテムの投入などの応援を視聴者に対して喚起することができる。即ち、視聴者数が多い程、難易度が高くなるため、多くの視聴者がアイテムを投入することによる仮想通貨の消費量の増大が期待できる。
 また、本実施形態によれば、ユーザ8によるアイテム投入操作に応じてユーザ端末800からアイテム投入情報を受信すると、コンピュータ200は、達成条件の成立を支援する支援効果を発動させる。これによって、ユーザ8はプレイヤ5によるゲームプレイに積極的に関与することができ、ひいてはゲームの好趣および視聴意欲を向上させることができる。
 さらに、本実施形態によれば、当該アイテム投入操作は、ユーザ8所有の仮想通貨の消費を伴う操作である。この結果、ユーザ8は、アバターオブジェクト6によるゲームの進行状況や他のユーザ8による支援状況を見極めながら、慎重にアイテム投入操作を行うこととなり、無制限にアイテム投入を可能とする場合よりもゲーム展開を面白くすることができる。
 また、本実施形態によれば、達成条件の成立を支援する支援効果の程度が、視聴者数に応じて調整される。具体的には、視聴者数が多い程、支援効果の程度が小さくなる。これによって、視聴者数が多い場合には、視聴者からの支援機会が多くなることを期待できるものの、難易度が高くなるとともに支援効果の程度が小さくなる。一方、視聴者数が少ない場合には、視聴者からの支援機会が少なくなることが予想されるものの、難易度が低くなるとともに支援効果の程度が大きくなる。その結果、視聴者数にかかわらず、プレイヤ5がゲームをクリアできる可能性を一定範囲内に収束させることを期待でき、プレイヤ5によりゲームクリアの可能性を視聴者数に応じて極端に変化させてしまう(簡単あるいは難しくなる)ことなどを防止できる。
 さらに、本実施形態によれば、投入されるアイテムにはポイントが関連付けられており、当該ポイントは、アイテム投入操作によってアバターオブジェクト6に付与される。付与されたポイントが所定値に到達すると、アバターオブジェクト6はガチャ操作によりアイテムを仮想空間11に投入可能となる。プレイヤ5がゲームをクリアできる可能性は、当該ガチャ操作によりアイテムを投入することにより向上する。また、アバターオブジェクト6に付与されるポイントのプラス方向の調整量は、視聴者数に応じて変化する。具体的には、視聴者数が増大するほど、当該プラス方向の調整量を増大させる。このため、視聴者を増やしてアイテム投入によりポイントをより多く獲得できるようにすべく、よりレベルの高いゲームプレイ映像や視聴者にとって面白いゲームプレイ映像を配信しようとする動機をプレイヤ5に働かせることができる。
 さらに、本実施形態によれば、アイテムに関連付けられるポイントの量は、当該アイテムを投入するときに消費される仮想通貨の量に応じた量に設定される。これによって、ユーザ8の思い(支援する気持ちの大きさ)をアバターオブジェクト6に付与されるポイントの量に反映させることができる。
 また、本実施形態によれば、ゲームは、各々に達成条件が関連付けられた複数のステージを含み、各ステージの難易度は、当該ステージが開始される際の視聴者数に応じて調整される。これによって、例えば最初のステージの開始時の視聴者数に応じて難易度を調整するようなものと比較して、きめ細かく難易度を調整することができる。また、ステージ途中であっても視聴者数を随時特定して難易度を調整するようなものと比較して、難易度を調整するための処理負担を軽減できる。
 さらに、本実施形態によれば、ゲームは、アバターオブジェクト6が敵オブジェクト23と対戦する対戦ゲームであり、アバターオブジェクト6の戦闘能力、敵オブジェクト23の戦闘能力および出現量は、視聴者数に応じて調整される。具体的には、視聴者数が少ない程、アバターオブジェクト6の戦闘能力が高くなり、視聴者数が多い程、敵オブジェクト23の戦闘能力が高くなるとともに、敵オブジェクト23の出現量が多くなる。これによって、視聴者数が少ないために、プレイヤ5がゲームをなかなかクリアできないといった状況を生じさせ難くすることができる。また、視聴者に対してプレイヤ5を支援する動機を適正に働かせることができる。
 また、本実施形態によれば、難易度に応じた態様でゲームが進行し、当該ゲームの進行状況を表すゲームパラメータを含むゲーム情報がユーザ端末800に配信される。これによって、アバターオブジェクト6の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト23の残数等をユーザ端末800において表示することが可能となる。
 また、本実施形態によれば、視聴者数に応じて難易度を調整するため、アバターオブジェクト6を操作するプレイヤ5においては、ゲーム操作を上達させてよりレベルの高いゲームプレイ映像や視聴者にとって面白いゲームプレイ映像を配信することにより、視聴者数をさらに増やし、さらに難易度の高くレベルの高いゲームプレイ映像等を配信するという動機付けが働く。この結果、ゲーム操作の上達→視聴者数の増大→ゲーム操作の上達→…といった好循環が促される。さらに、難易度を調整することにより、ゲームの展開を視聴者によって予測されてしまうことが困難になるため、ゲームプレイ映像の好趣および視聴者側の視聴意欲を向上させることができる。
 本実施形態によれば、ユーザ端末800は、本ゲームの仮想空間11を表すゲームプレイ映像をタッチスクリーン870に表示する。また、当該仮想空間11に配置するアイテムオブジェクトを指定するためのアイテム投入操作をユーザ8から受け付けると、当該ユーザ8のユーザ端末800は、アイテム投入情報をサーバ600を介してコンピュータ200に送信するとともに、演出オブジェクト24による演出画像をタッチスクリーン870に表示する。
 コンピュータ200は、アイテム投入情報に応じたタイミングでアイテムを仮想空間に配置するとともに、当該アイテムに関する動作指図データを生成し、当該動作指図データをサーバ600を介して複数のユーザ端末800に配信する。ゲームを視聴中のユーザ端末800は、当該動作指図データに基づいて、ユーザが指定したアイテムオブジェクトを仮想空間11に配置する。また、動作指図データのデータ量は、例えばオブジェクトデータなどに比べて格段に少なく、当該動作指図データの生成および送信に要する時間を短縮できる。これにより、複数のユーザ端末800の間でアイテムオブジェクトの配置に関して同期させることができるとともに、アイテム投入操作からアイテムオブジェクトが配置されるまでの期間を極力短縮できる。
 また、アイテム投入操作が行われたユーザ端末800において規定された仮想空間11においては、アイテムオブジェクトが配置されるまでの間において、演出オブジェクト24による演出画像が表示される。これによって、ユーザがアイテム投入操作を行ってからアイテムオブジェクトが仮想空間11に配置されるまでの間を持たせることができるとともに、ユーザに違和感を抱かせてしまうことを防止できる。
 また、本実施形態によれば、演出画像は、演出オブジェクト24を仮想空間11に配置することにより表示される。このため、仮想オブジェクト以外の画像(例えばアイテムを投入したユーザ8のユーザIDや、ユーザやプレイヤが入力したコメントなどを表す画像)を視界画像1400に重畳して表示される場合であっても、当該重畳された仮想オブジェクト以外の画像が当該演出オブジェクト24によって隠れて確認できなくなってしまうことを防止でき、ゲームプレイ映像の好趣が低下してしまうことを防止することができる。
 さらに、本実施形態によれば、アイテムオブジェクトが複数種類設けられている一方、演出オブジェクト24は、投入されたアイテムオブジェクトの種類にかかわらないオブジェクトに定められている。これによって、ユーザ端末800の処理負担を極力軽くすることができる。
 また、本実施形態によれば、仮想空間11にオブジェクトを表示するための表示用データは、仮想空間11に配置するタイミングにおいて受信するものではなく、ストレージ830に予め記憶されている。ゲームを視聴中の複数のユーザ端末800の各々は、動作指図データに基づいて、当該表示用データを用いてアイテムオブジェクトを仮想空間11に配置する。また、アイテム投入操作が行われたユーザ端末800は、所定時間に亘り演出オブジェクト24による演出を実行する。
 ここで、アイテム投入情報には、演出オブジェクト24による演出が終了するタイミング(支援効果の発動タイミング)が含まれ、ユーザ端末800は、アイテム投入操作を受け付けたときに当該アイテム投入情報をサーバ600を介してコンピュータ200に送信する。これによって、コンピュータ200は、アイテム投入情報から特定されるタイミングでアイテムオブジェクトを仮想空間11に配置するとともに動作指図データを生成して複数のユーザ端末800各々に送信する。この結果、アイテム投入操作を行ったユーザ端末800においては、演出オブジェクト24による演出が終了すると同時に、アイテムオブジェクトを仮想空間11に配置することができる。即ち、演出オブジェクト24による演出とアイテムオブジェクトの配置とをシームレスでつなげることができる。
 また、本実施形態によれば、ユーザ端末800は、仮想空間11に仮想カメラ20を配置し、当該仮想カメラ20の視界を表す視界画像1400をタッチスクリーン870に表示する。このとき、ユーザ端末800は、当該視界画像1400の範囲に応じてアイテム投入範囲を特定し、当該アイテム投入範囲を含むアイテム投入情報をサーバ600を介してコンピュータ200に送信する。これによって、仮想カメラ20の視界にアイテムオブジェクトを配置することができる。また、アイテム投入範囲は、ユーザの操作により仮想カメラ20の位置および向きに伴って変更される。これによって、アバターオブジェクト6と敵オブジェクト23との間の位置に障害物オブジェクトを投入するなどの戦略的な支援が可能となる。
 さらに、本実施形態によれば、投入されたアイテムオブジェクトを配置する位置は、アイテム投入範囲のうちからコンピュータ200により決定される。この際、コンピュータ200は、既に配置されている他のオブジェクトとの位置関係を考慮して位置を決定することができ、当該決定された位置を特定するための動作指図データを配信できる。その結果、ユーザ8の操作により投入されたアイテムオブジェクトと既に配置されている他のオブジェクトとの間で予期しない衝突ないし干渉が発生することを未然に防止することができる。
 <変形例>
 以上説明した実施形態の変形例などを以下に列挙する。
 (1) 上記実施形態においては、アバターオブジェクト6に付与されるポイントの量を、視聴者数に応じて変化させるようにしている。しかし、当該ポイントを変化させることに替えてあるいは加えて、アバターオブジェクト6がガチャ操作を行うために到達する必要がある所定値を視聴者数に応じて変化させるようにしてもよい。
 (2) 上記実施形態においては、演出オブジェクト24による演出が終了するタイミングがアイテム投入情報に含まれ、ユーザ端末800は、アイテム投入操作を受付けたときに、当該アイテム投入情報をサーバ600を介してコンピュータ200に送信する。しかし、当該演出の終了タイミングをアイテム投入情報に含めることなく、当該演出が終了するとき(所定時間が経過したとき)に、当該アイテム投入情報をサーバ600を介してコンピュータ200に送信するようにしてもよい。この場合、コンピュータ200は、アイテム投入情報を受信したときに対応するアイテムを配置等させ、動作指図データを生成・配信するようにしてもよい。動作指図データのデータ量は、オブジェクトデータに比べて格段に少ない。このため、演出が終了するときにアイテム投入情報を送信することによっても、演出オブジェクト24による演出の終了とほぼ同時にアイテムオブジェクトを仮想空間11に配置するとともに動作指図データを複数のユーザ端末800各々に送信することができる。また、演出オブジェクト24による演出時間が固定的であり、当該演出時間がコンピュータ200側で既知であれば、演出の終了タイミングをアイテム投入情報に含めなくても、演出オブジェクト24による演出の終了と同時にアイテムオブジェクトを仮想空間11に配置するとともに動作指図データを複数のユーザ端末800各々に送信することが可能となる。
 (3) 上記実施形態においては、アイテム投入操作が行われると、ユーザ8所有の仮想通貨が消費される。ここで、仮想通貨の消費額は、視聴者数に応じて変動させるようにしてもよい。同じアイテムを投入する場合であっても、例えば、視聴者数が多い程、多くの仮想通貨が必要となる(消費量が多くなる)ようにしてもよい。この場合、アイテムに関連付けられているポイントの量は、仮想通貨の消費量にかかわらず、固定的に設定するようにしてもよい。
 (4) 上記実施形態においては、難易度を低くする際に、敵キャラクタの戦闘能力および出現量のいずれも減少させるようにしている。しかし、当該戦闘能力および当該出現量に基づいて難易度を総合的に評価し、当該難易度が低くなる限り、戦闘能力を上げる一方で出現量を減らしたり、戦闘能力を下げる一方で出現量を増やすようにしてもよい。また、難易度を調整する際に、当該戦闘能力および出現量のいずれか一方のみを変化させるようにしてもよい。
 (5) 上記実施形態においては、現ステージの視聴者数がゲームプレイ映像上に表示されることはない。しかし、当該視聴者数を当該ゲームプレイ映像上に表示するようにしてもよい。また、これに替えてあるいは加えて、視聴者数に応じた難易度を特定可能な情報を当該ゲームプレイ映像上に表示するようにしてもよい。
 (6) 上記実施形態においては、プレイヤ5は、HMDセット110を装着してアバターオブジェクト6の動作を制御する。しかし、プレイヤ5は、デスクトップPC用のモニタのような据え置き型モニタにアバターオブジェクト6を表示させ、ハンドコントローラやキーボードによって当該アバターオブジェクト6の動作を制御するようにしてもよい。また、携帯情報端末の画面にアバターオブジェクト6を表示させ、当該画面に対するタッチ操作によってアバターオブジェクト6の動作を制御するようにしてもよい。
 (7) 上記実施形態においては、UI画像22上のアイコンに対するタップ操作に応じて、アイテムオブジェクトが仮想空間11に投入される。しかし、フリック操作やスワイプ操作に応じてアイテムオブジェクトを仮想空間11に投入するようにしてもよい。この場合、アイテム投入範囲は、フリック操作の態様(操作方向)やスワイプ操作の態様(速度、タッチ操作された時間あるいは距離)に基づいて特定するようにしてもよい。さらに、画面に対するタッチ操作ではなく、声入力に応じてアイテムオブジェクトを仮想空間11に投入するようにしてもよい。
 (8) 上記実施形態においては、ユーザ端末800においてアイテム投入範囲が特定され、コンピュータ200において当該アイテム投入範囲内のいずれかの位置がアイテム投入位置として特定される。しかし、ユーザ端末800において投入されるアイテムオブジェクトを配置する位置(アイテム投入位置)そのものを直接的に特定するようにしてもよい。この場合、フリック操作またはスワイプ操作に応じてアイテムオブジェクトを仮想空間11に投入するのであれば、当該フリック操作またはスワイプ操作の態様(速度、タッチ操作された時間あるいは距離)に基づいてアイテム投入位置を特定するようにしてもよい。また、アイテム投入位置は、投入したいアイテムをタッチ操作により選択した後、続けて当該アイテムを配置したい位置をタッチ操作することや、投入したいアイテムを選択したタッチ操作の位置を配置したい位置まで移動させて解除することなどにより特定するようにしてもよい。
 (9) 上記実施形態においては、視点変更操作が行われると、仮想カメラ20の視点が変更されるが、このとき、特定の視点変更操作(所定の視点変更アイコンへのタッチ操作など)に応じて、仮想カメラ20の視点をアバターオブジェクト6の視点または敵オブジェクト23の視点に設定するようにしてもよい。また、当該視点が敵オブジェクト23の視点である場合において、当該敵オブジェクト23が倒されたときには、仮想カメラ20の視点は、初期位置に配置するか、または他の敵オブジェクト23の視点に設定するようにしてもよい。
 (10) 上記実施形態においては、視聴者数が多いほど、敵オブジェクト23の戦闘能力や出現量を増大させ、アバターオブジェクト6の戦闘能力を減少させ、アバターオブジェクト6を支援するための支援効果を減少させる例について説明した。しかし、これに代えて、視聴者数が多いほど、敵オブジェクト23の戦闘能力や出現量を減少させ、アバターオブジェクト6の戦闘能力を増大させ、アバターオブジェクト6を支援するための支援効果を増大させるようにしてもよい。即ち、プレイヤ5がゲームの達成条件を成立させる難易度は、視聴者数が多いほど低くなり、視聴者数が少ないほど高くなるようにしてもよい。
 (11) 上記実施形態においては、アバターオブジェクト6または敵オブジェクト23の戦闘能力を現ステージの戦闘開始時の体力に基づいて規定し、当該体力を視聴者数に応じて増減させるようにしている。しかし、当該体力を増減させることに替えてあるいは加えて、ダメージを受けたことによる当該体力の減少量を視聴者数に応じて増減させるようにしてもよい。
 (12) 上記実施形態においては、敵オブジェクト23は、ゲームプログラムに従って動作し、プレイヤ5が直接操作できないノンプレイヤオブジェクトである。しかし、敵オブジェクト23は、他のプレイヤ5が直接操作可能なプレイヤオブジェクトであってもよい。この場合、ある敵オブジェクト23が、あるステージではプレイヤオブジェクトとなり、別のステージではノンプレイヤオブジェクトとなるといったように、ステージごとに敵オブジェクト23の性質を異ならせるようにしてもよい。また、敵オブジェクト23は、あるユーザがユーザ端末を用いて操作可能なプレイヤオブジェクトであってもよい。
 (13) 上記実施形態においては、アバターオブジェクト6に付与されるポイントのプラス方向の調整量は、視聴者数が多いほど増大される。しかし、視聴者数が減少するほど、当該プラス方向の調整量を増大させるようにしてもよい。この場合、ユーザ8には、人気のないアバターオブジェクト6を積極的に応援して、当該ユーザ8のことをプレイヤ5に覚えて貰おうという動機付けが働く。
 (14) 上記実施形態においては、ユーザ端末800においてアイテム投入操作が行われると、投入されるアイテムにかかわらない所定のプレゼント箱のような演出オブジェクト24を当該ユーザ端末800における仮想空間11に配置するようにしている。しかし、アイテム投入操作が行われたときには、演出オブジェクト24の代わりに、投入されたアイテムのオブジェクトを所定位置に表示するようにしてもよい。この場合、アイテム投入操作から所定時間が経過すると、当該演出オブジェクト24による演出が終了し、コンピュータ200から配信された動作指図データに基づくオブジェクトが当該仮想空間11に配置される。
 (15) 上記実施形態においては、アバターオブジェクト6を敵オブジェクト23と対戦させるゲームのゲームプレイ映像をユーザ端末800において表示することを想定している。しかし、単にお喋りをするアバターオブジェクトをユーザ端末800において表示するようにしてもよい。
 (16) 上記実施形態においては、ユーザ8により投入されたアイテムのオブジェクトを仮想空間11に配置するタイミングは、アイテム投入操作を行ったユーザ端末800と他のユーザ端末800とのいずれにおいても、コンピュータ200から配信された動作指図データに基づいて特定される。しかし、アイテム投入操作を行ったユーザ端末800については、当該動作指図データに基づかなくても、当該配置タイミングを特定することができる。このため、アイテム投入操作を行ったユーザ端末800と他のユーザ端末800とで異なる処理を実行することにより、アイテムオブジェクトを仮想空間11に配置するようにしてもよい。具体的には、アイテム投入操作を行ったユーザ端末800については、アイテム投入操作から所定時間後に当該アイテムオブジェクトを配置する処理を行う一方、その他のユーザ端末800については、コンピュータ200から配信された動作指図データに基づいて当該アイテムオブジェクトを配置する処理を行うようにしてもよい。
 (17) 上記実施形態においては、複数のステージを用意し、各ステージが開始される際の視聴者数に応じてゲームの難易度を調整するようにしている。しかし、当該視聴者数をリアルタイムで(あるいは一定時間(1分)毎に)把握し、ステージの途中でも難易度を調整するようにしてもよい。
 (18) 上記実施形態においては、ユーザ8の操作(アイテム投入操作等)により、アバターオブジェクト6により進行するゲームにおける達成条件の成立を支援することを想定している。しかし、ユーザ8の操作により、アバターオブジェクト6により進行するゲームにおける達成条件の成立を阻害する(プレイヤ5にとって不利にする)阻害作用を及ぼすものであってもよい。具体的には、ユーザ8の操作により、上記実施形態における敵オブジェクト23に救急箱を提供して当該敵オブジェクト23の体力に関するゲームパラメータを回復させたり、当該敵オブジェクト23が使用可能な斧や鍬を仮想空間11に投入して当該敵オブジェクト23の攻撃力に関するゲームパラメータを高めたりして、アバターオブジェクト6によるゲーム進行を阻害する(即ち、ゲーム進行をプレイヤ5に不利にする)ものであってもよい。
 (19) 上記実施形態においては、視聴者数を100人単位で分類し、200人以下の範囲において視聴者数が多くなるほど、難易度の増大量を大きくするようにしている。しかし、難易度の増大量は、必ずしも視聴者数の増大に対応させる必要はない。即ち、視聴者数が1人以上100人未満のときの難易度の増大量を、視聴者数が101人以上200人未満のときの難易度の増大量よりも大きくするようにしてもよい。また、難易度は、視聴者数100人単位で調整するものに限らず、視聴者数1人単位で調整するものであってもよく、また、視聴者数が多くなるほど大きな単位(0人~10人、11人~50人、51人~150人、151人~300人等)で調整するものであってもよい。
 (20) 上記実施形態においては、アバターオブジェクト6が敵オブジェクト23と対戦する対戦ゲームを想定し、敵オブジェクト23の戦闘能力および出現量と、アバターオブジェクト6の戦闘能力とに基づいて難易度を規定するとともに、アバターオブジェクト6を支援するために、ユーザ8が投入可能なアイテムとして、マガジン、救急箱、障害物等のアイテムを設けている。
 しかし、アバターオブジェクト6にブロックの配置を並び替えさせるパズルゲームを本ゲームとして想定した場合、難易度は、達成条件を成立させるために必要なブロック数、ブロックの大きさ、ブロックの種類等に基づいて規定し、ユーザ8が投入可能なアイテムとして、邪魔なオブジェクト(不要なブロック、壁、置物)を破壊するためのハンマーや爆弾を設けるようにしてもよい。
 また、アバターオブジェクト6を密室から脱出させる脱出ゲームを本ゲームとして想定した場合、難易度は、室内の配置物の多様性、脱出するための鍵の位置、鍵の在り処を示唆する脱出支援アイテムの数等に基づいて規定し、ユーザ8が投入可能なアイテムとして、当該脱出支援アイテムのいずれかを設けるようにしてもよい。なお、この場合、支援効果の程度は、投入可能な脱出支援アイテムの数に基づいて規定される。
 (21) 上記実施形態においては、演出オブジェクト24は、アバターオブジェクト6と重複しない位置であってアバターオブジェクト6の視認性を阻害しない位置に演出画像が表示されるように配置される例について説明した。しかし、演出オブジェクト24は、アバターオブジェクト6と一部が重複する位置に表示されるように配置してもよく、また、透過性を有するオブジェクト(例えば半透明のオブジェクト)としてもよい。
 (22) 上記実施形態においては、演出画像は、演出オブジェクト24を仮想空間11に配置することにより表示するようにしている。しかし、演出オブジェクト24を仮想空間11に配置することに替えて、演出画像を視界画像1400に重畳することにより、当該演出画像をタッチスクリーン870に表示するようにしてもよい。
 (23) 上記実施形態においては、当該アイテム投入情報には、当該アイテム投入範囲を特定するための情報が含まれる。しかし、アイテム投入範囲を特定するための情報に替えて、仮想カメラ20の視点を特定するための情報をアイテム投入情報に含めるようにしてもよい。
 (24) 上記実施形態においては、コンピュータ200は、図8に示す仮想空間11においてアイテムオブジェクトを配置する際には、当該アイテムオブジェクトを配置する前の段階において、当該配置および配置タイミングを特定可能にするための動作指図データを生成し、ユーザ端末800に配信するようにしてもよい。この場合、当該動作指図データには、当該アイテムオブジェクトの配置・動作等を特定するための情報に加えて、当該アイテムオブジェクトを配置するタイミングを特定するための情報も含まれる。また、ユーザ端末800は、当該タイミングで図14に示す仮想空間11にオブジェクトを配置する。
 (25) 上記実施形態においては、コンピュータ200は、動作指図データを所定時間毎に複数のユーザ端末800に配信する。しかし、動作指図データは、図8に示す仮想空間11においてオブジェクトに変化が生じたときに配信するようにしてもよい。
 (26) 上記実施形態においては、アバターオブジェクト6に応援ポイントを付与する際、アイテム投入情報に含まれているポイントの量をステップS23で特定されたポイント調整量に基づいて補正するようにしている。しかし、ステップS23で特定されたポイント調整量は、ゲーム情報に含めてユーザ端末800に配信し、アイテムに応じてポイント調整量(あるいは調整後のポイント)を視界画像1400に重畳して表示するようにしてもよい。この場合、ユーザは、アバターオブジェクト6に付与されるポイントがどの程度調整されるのか(あるいは調整後のポイント)をアイテム投入操作の前に把握することができる。
 (27) 上記実施形態においては、ゲームの難易度がコンピュータ200において調整されるところ、当該難易度はゲーム情報に含めてユーザ端末800に配信し、視界画像1400に重畳して表示したり、ユーザ8が投入できるアイテムの種類・数などを当該難易度に応じて異ならせるようにしてもよい。
 (28) 上記実施形態においては、複数のステージがゲームに用意されており、各ステージの開始時の視聴者数に応じて難易度が調整される。しかし、ゲームに用意するステージを1つとして、当該ステージの開始時の視聴者数に応じて当該難易度を調整するようにしてもよい。また、ステージ数にかかわらず、ゲームの進行における所定のタイミングの視聴者数に応じて、当該難易度を調整するようにしてもよい。
 〔実施形態2〕
 本実施形態では、特に、ライブゲーム進行パート(以下、ライブ配信パートともいう)におけるリアルタイムのライブ配信が一旦終了した後であっても、ユーザ8は、終了済みのライブ配信パートの進行を要求し、受信した動作指図データに基づいてライブ配信パートを改めて進行させることができる。これにより、ユーザ8は、ライブ配信を再度見返すこと、および仮に見逃した場合でも改めてライブ配信を見ることができる。以下では、ライブ配信時刻終了後の場面を想定している。
 <処理概要>
 本実施形態では、ユーザ端末800は、ゲームプログラム831に基づいて、ゲームの興趣性を向上させるために以下のステップを実行するように構成されている。具体的には、ユーザ端末800(コンピュータ)は、例えば入力部8701などの操作部を介して、終了済みのライブ配信パートの進行を要求するステップと、サーバ600から、終了済みのライブ配信パートに係る記録済みの動作指図データを受信するステップと、記録済みの動作指図データに基づいてアバターオブジェクト6、敵オブジェクト23等を動作させることにより終了済みのライブ配信パートを進行させるステップとを実行する。記録済みの動作指図データは、アバターオブジェクト6、敵オブジェクト23等のオブジェクトの配置、動作等を特定するための情報を含む。なお、記録済みの動作指図データは、サーバ600の記憶部6200に格納されるのがよく、ユーザ端末800からの要求に応じて、改めてユーザ端末800に配信されるのがよい。
 本実施形態では、ユーザ8がライブ配信パートをリアルタイムで進行させたか否かの結果に応じて、記録済みの動作指図データに基づく終了済みのライブ配信パートの進行を異なるものとするのがよい。具体的には、ユーザ8がライブ配信パートをリアルタイムで進行させた実績があると判定される場合には、ユーザ8がライブ配信パートをリアルタイムで進行させたものと同様のライブ配信パートを再度進行させるのがよい(見返し配信)。見返し配信では、ライブ配信パートの選択的な進行を実行するのがよい。一方、ユーザ8がライブ配信パートをリアルタイムで進行させた実績がないと判定される場合には、リアルタイムで進行させたのとは異なる進行態様のライブ配信パートを進行させるのがよい(見逃し配信)。ここで、見逃し配信において実績がないと判定される場合には、例えば、ユーザ8がライブ配信を受ける権利を有し、ユーザ8がライブ配信時刻であればリアルタイムのライブ配信パートを進行可能であったにも拘わらず、実際にはこれを実行しなかった場合が含まれる。見逃し配信では、ライブ配信パートの制限付きの進行を実行するのがよい。
 <システム100の機能的構成>
 本実施形態に係るユーザ端末800において、ユーザ8がライブ配信パートをリアルタイムで進行させた実績があると判定される場合に、ゲーム進行部8105は、さらに、ライブ配信パートにおけるユーザ行動履歴情報を受信して解析する。ユーザ行動履歴情報とは、記録済みの動作指図データの中身とは別に、ライブ配信パートの進行の間に入力操作により受け付けられたユーザ8の行動の記録のデータ・セットである。ユーザ行動履歴情報は、記録済みの動作指図データに関連付けられるのがよく、サーバ600の記憶部6200、またはキャラクタ制御装置110の記憶部2200に格納されるのがよい。これに加えて、或いはこれに替えて、ユーザ行動履歴情報はユーザ端末800の記憶部8200に格納されてもよい。
 図22は、本実施形態に係るゲームシステム100にて処理される動作指図データのデータ構造の一例を示す図である。一例として、動作指図データは、メタ情報である、「宛先」および「作成元」の各項目と、データの中身である、「オブジェクトID」、「音声」、「動き」、「位置」、「姿勢」および「向き」の各項目とを含んで構成されている。図22に示される動作指図データのデータ構造は一例にすぎない。例えば、項目「位置」、「姿勢」および「向き」のうちの少なくとも1つのデータは項目「動き」に含まれてもよい。
 項目「宛先」には、宛先指定情報が格納されている。宛先指定情報は、該動作指図データがどの装置宛てに送信されたものであるのかを示す情報である。宛先指定情報は、例えば、ユーザ端末800固有のアドレスであってもよいし、ユーザ端末800が所属しているグループの識別情報であってもよい。宛先指定情報は、ある条件を満たすすべてのユーザ端末800を宛先としていることを示す記号(例えば、「ALL」など)であってもよい。
 項目「作成元」には、作成元情報が格納されている。作成元情報は、該動作指図データがどの装置によって作成されたものであるのかを示す情報である。作成元情報は、例えば、ユーザID、ユーザ端末ID、ユーザ端末の固有アドレスなど、ある特定のユーザを特定可能な、ユーザに関連する情報(以下、ユーザ関連情報)である。作成元情報は、サーバ600またはキャラクタ制御装置110を指し示すIDまたはアドレスであってもよい。作成元がサーバ600またはキャラクタ制御装置110である場合には、該項目の値を空のままにしておいてもよいし、該項目自体を動作指図データに設けないようにしてもよい。
 項目「オブジェクトID」には、本ゲームに登場するオブジェクト(アバターオブジェクト6、敵オブジェクト23等)を一意に識別するためのオブジェクトIDが格納されている。ここに格納されているオブジェクトIDは、該動作指図データがどのオブジェクトの動作を指示するためのものであるのかを表している。
 項目「音声」には、オブジェクトに発出させるための音声に関連するデータが格納されている。項目「動き」には、オブジェクトの動きを指定するモーションデータが格納されている。モーションデータは、一例として、モーションセンサ420等を介してキャラクタ制御装置110が取得したモーションキャプチャデータであってもよい。項目「位置」、「姿勢」および「向き」には、それぞれ、オブジェクトの位置、姿勢および向きを指定する位置データ、姿勢データおよび向きデータが格納されている。本実施形態では、音声データ、モーションデータ、位置データ、姿勢データおよび向きデータは、互いに同期がとれた状態で、動作指図データに含まれていてもよい。
 このような動作指図データを受信することにより、ユーザ端末800のゲーム進行部8105は、ゲームに登場するオブジェクトを、該動作指図データの作成元の意図通りに動作させることができる。具体的には、ゲーム進行部8105は、動作指図データに音声データが含まれている場合には、該音声データに基づいてオブジェクトに発言させる。また、ゲーム進行部8105は、動作指図データにモーションデータが含まれている場合には、該モーションデータに基づいてオブジェクトを動かす、すなわち、モーションデータに基づく動きをするように該オブジェクトのアニメーションを生成する。また、ゲーム進行部8105は、動作指図データに位置データ、姿勢データおよび向きデータが含まれている場合には、これらのデータに基づいてオブジェクトを配置する。なお、上述した動作指図データの構造は、言うまでもなく実施形態1においても適用可能である。また、上述した動作指図データの構造は、あくまで一例であり、これに限定されるものではない。
 図23は、ユーザ行動履歴情報のデータ構造の一例を示す図である。ユーザ行動履歴情報は、例えば、ライブ配信パート内においてユーザが行動した行動時間、行動種別、および行動詳細のような項目を含み、ユーザ8を識別するユーザIDに関連付けられる。項目「行動時間」は、ライブ配信パート内でユーザ8が行動を行った時間情報であり、項目「行動種別」はユーザの行動を示す種別であり、項目「行動詳細」はユーザ8の行動の具体的な内容である。例えば、項目「行動種別」および「行動詳細」で特定される行動には、ユーザ8の入力操作によるアイテム(マガジン、救急箱、障害物等)の投入、コメント入力等の行動が含まれてよい。また、このような行動には、ライブ配信パートの特定進行部分を後からプレイバックするための時間の選択(例えば、特定進行部分の録画操作)が含まれてもよい。これ以外にも、このような行動には、ライブ配信パートにおける仮想通貨の購入、報酬やポイント等の獲得が含まれてもよい。なお、ユーザ行動履歴情報は、動作指図データのデータ構造と、図24で後述するゲーム情報のデータ構造との間で相互に関連付けられるのがよい。なお、これらのデータ構造は例示にすぎず、これに限定されないことが当業者に理解されるべきである。
 図24は、本実施形態に係るシステム100にて処理されるゲーム情報132のデータ構造の一例を示す図である。ゲーム情報132において設けられる項目は、ゲームのジャンル、性質、内容等に応じて適宜決定されるものであり、例示の項目は、本発明の範囲を限定するものではない。一例として、ゲーム情報132は、「プレイ履歴」、「アイテム」、「配信履歴」、「ゲームオブジェクト」の各項目を含んで構成されている。これらの各項目は、ゲーム進行部8105がゲームを進行させるときに適宜参照される。
 項目「プレイ履歴」には、ユーザ8のプレイ履歴が格納されている。プレイ履歴は、ライブ配信パートごとに、ユーザ8のプレイが完遂しているかどうかを示す情報である。例えば、プレイ履歴は、ライブ配信パートのリストを含みうる。ライブ配信パートごとに、「プレイ済」、「未プレイ」、「プレイ可」、「プレイ不可」などのステータスが紐付けられている。
 項目「アイテム」には、ユーザ8が保有するゲーム媒体としてのアイテム一覧が格納されている。本ゲームにおいて、アイテムは、一例として、アバターオブジェクト6を支援するためのマガジン、救急箱、障害物等であってもよい。
 項目「配信履歴」には、ライブ配信パートにおいて、過去に配信者であるユーザ5からライブ配信されたゲーム動画、いわゆるバックナンバーの一覧が格納されている。ライブ配信パートにおいて、リアルタイムにPUSH配信されているゲーム動画は、そのときにしか閲覧できない。一方、過去の配信分のゲーム動画は、サーバ600において録画されており、ユーザ端末800からのリクエストに応じて、PULL配信することが可能である。本実施形態では、一例として、バックナンバーは、ユーザ8が課金することにより、ダウンロードできるようにしてもよい。
 項目「ゲームオブジェクト」には、アバターオブジェクト6、敵オブジェクト23、コントローラ300によって操作される仮想手などの操作オブジェクト等の各種オブジェクトのデータが格納されている。
 <処理フロー>
 図25は、本実施形態に係るゲームプログラムに基づいて実行されるゲームの基本的なゲーム進行について、その一例を示すフローチャートである。処理フローは、リアルタイムのライブ配信パートが既に終了済みであり、ライブ配信時刻の終了以降の場面に適用される。
 ステップS40では、ユーザ端末800の入力部8701によって、終了済みのライブ配信パートの進行が新たに要求される。ステップS42では、ステップS40での要求に対して、ユーザ端末800は、サーバ600から、終了済みのライブ配信パートに係る記録済みの動作指図データを受信する。
 記録済みの動作指図データは、ライブ配信パート中のアバターオブジェクト6の動作に関するデータ(例えば、ユーザ5が入力したモーションデータおよび音声データ)、ライブ配信パート中の敵オブジェクト23の動作に関するデータ等を含む。ユーザ端末800は、記録済みの動作指図データに加えて、リアルタイムのライブ配信パートの進行時にユーザ8の行動に伴って記録された各種進行実績データを受信してもよい。具体的には、進行実績データには、リアルタイムのライブ配信パートに参加したユーザ8の行動に関する視聴者行動データが含まれてもよい。視聴者行動データは、リアルタイムのライブ配信パートをリアルタイムで進行させた、全てのユーザ8(つまり、ライブに参加した視聴者)のライブ中の行動の記録を含んだデータである。特に、視聴者行動データは、ライブの途中で視聴者(ユーザ8)がリアルタイムに投入したアイテム、リアルタイムに発信したテキストメッセージやアイコン等のメッセージングの内容を含むのがよい。このように、進行実績データを用いて、終了済みのライブ配信パートを進行させることにより、リアルタイムで進行したライブ配信パートにおける視聴者の反応を忠実に再現することができ、リアルタイムでのライブ空間の臨場感を更に向上することができる。
 なお、記録済みの動作指図データおよび進行実績データは、ユーザ端末800が別データとして受信し、それぞれを解析(レンダリング)してもよい。代替では、サーバ600またはキャラクタ制御装置110において、予め、記録済みの動作指図データおよび視聴者行動データが結合され、結合されたデータ・セットをユーザ端末800が一度に受信してもよい。結合されたデータ・セットを受信することにより、ユーザ端末800による後のデータの解析(レンダリング)の負荷を低減することができる。以降の説明では、進行実績データは、記録済みの動作指図データに結合されたものとする(つまり、記録済みの動作指図データに進行実績データが含まれるものとする。)。
 次いで、ステップS44では、ゲーム進行部8105は、ユーザがライブ配信パートをリアルタイムで進行させた実績があるか否かを判定する。判定は、例えば、動作指図データがユーザ端末800宛てに送信された記録があるかに基づいて実行されてもよい。或いは、図24に示された項目「プレイ履歴」を参照して、ライブ配信パートが「プレイ済」のステータスであるかに基づいて実行されてもよい。或いは、図24に示された項目「配信履歴」を参照して、過去に当該ライブ配信パートがライブ配信された実績があるかに基づいて実行されてもよい。これ以外にも、ユーザ端末800の記憶部8200に既に記録済みの動作指図データが格納されているような場合は、ライブ配信パートをリアルタイムで既に進行させたものと判定してよい。加えて、判定は、これらを組み合わせることで実行されてもよく、または他の任意の手法で実行されてもよい。
 ステップS44でユーザ8がライブ配信パートをリアルタイムで進行させた実績があると判定される場合(YES)は、終了済みのライブ配信パートの進行は「見返し配信」となる。他方、ステップS44でユーザ8がライブ配信パートをリアルタイムで進行させた実績がないと判定される場合(NO)は、終了済みのライブ配信パートの進行は「見逃し配信」となる。上述したように、「見返し配信」と「見逃し配信」とでは、ユーザ体験は異なる。
 ステップS44で、ユーザ8がライブ配信パートをリアルタイムで進行させた実績があると判定されると、処理フローはステップS44のYESからステップS46に進む。ステップS46では、ゲーム進行部8105は、図23に示されたライブ配信パートのユーザ行動履歴情報を取得して、これを解析する。ユーザ行動履歴情報は、サーバ600から取得してもよいし、ユーザ端末800の記憶部8200に既に格納されている場合は直接それを使用してもよい。
(見返し配信)
 引き続き、ステップS48では、ゲーム進行部8105は、終了済みのライブ配信パートの再度の進行(つまり上述の「見返し配信」)を実行する。具体的には、記録済みの動作指図データとステップS46で解析したユーザ行動履歴情報とを用いて、ライブ配信パートの再度の進行を実行する。例えば、リアルタイム配信のゲームプレイ映像をリアルタイムで表示したユーザ端末800は、リアルタイム配信後に、リアルタイム配信においてゲームに登場した、ユーザ5に関連付けられるアバターオブジェクト6の動作に関する記録済みのデータを、外部装置から受信する。そして、当該ユーザ端末800は、アバターオブジェクト6の動作に関する記録済みのデータと、リアルタイム配信におけるユーザ端末800のユーザ8の行動に関する記録済みのデータ(例えば、上述のユーザ行動履歴情報に含まれるデータ)とを用いて、ゲームプレイ映像を生成し、再生する。また、見返し配信では、アバターオブジェクト6の動作態様は、リアルタイムのライブ配信パートにおけるユーザ端末800のユーザによるアイテムの投入等の行動に関連付けられてもよい。例えば、リアルタイムのライブ配信パートにおいてユーザ8がアバターオブジェクト6を支援するためにアイテム(例えば、救急箱)を投入していた場合は、当該アイテムに基づいてアバターオブジェクト6を動作させる(例えば、アバターオブジェクト6の体力を所定の発動タイミングで回復させる)。また、リアルタイムのライブ配信パートにおいて実行された、演出オブジェクト24による演出が、見返し配信においても実行されてもよい。これにより、ライブ配信パートの再度の進行を実行してもよい。つまり、リアルタイムのライブ配信パートの再度の進行は、ユーザ行動履歴情報が反映されており、リアルタイムで進行したライブ配信パートと同様のものであると共に、当該ユーザに固有のものとなる。
 また、見返し配信では、ライブ配信パートの再度の進行を行う。この際、最初の進行の際に記録された、操作部を介したユーザ8の入力操作による時間情報の指定にしたがい、ライブ配信パート等を選択的に実行させるのがよい。具体的には、図23で説明されたユーザ行動履歴情報に含まれる「行動時間」のデータを用いて、ユーザ8が特定の行動時間を指定することにより、そこからライブ配信パートを選択的に進行させることができる。すなわち、ユーザ800の行動に関する記録済みのデータは時間情報を含み、リアルタイム配信におけるユーザ800による当該時間情報の指定に従って、ゲームプレイ映像が進行させられてもよい。例えば、ユーザ8がライブ配信パートの開始から2分45秒後にコメントを入力していた場合には、その2分45秒後のタイミングを指定して、ユーザ8はライブ配信パートを再度進行させることができる。なお、このような再度の進行は、上記のコメント入力の記録に加え、ユーザ8の入力操作によるアイテムの投入、仮想通貨の購入等の行動の記録に対応した「行動時間」に基づいて、実行可能とするのがよい。
 更に、見返し配信では、リアルタイムで進行したライブ配信パートの間において、視聴者であるユーザ8が入力操作によって特定進行部分を選択していた場合は、ライブ配信パートの再度の進行において、選択された特定進行部分のみを選択的に進行させることができる。これにより、ユーザ8は、ライブ配信パートの特定進行部分のみを後から効率的にプレイバックすることができる。具体的には、ユーザ8が特定進行部分を選択し、ユーザ行動履歴情報にそのような行動の記録が登録されている場合に、その行動時間のデータを用いて、ライブ配信パートを選択的に進行させることができる。例えば、ユーザ8が、ライブ配信パートの開始から2分45秒から5分10秒の期間を選択していた場合には、ユーザ8は、その期間にわたるライブ配信パートを再度進行させることができる。
(見逃し配信)
 図25に戻り、ステップS44で、ユーザがライブ配信パートをリアルタイムで進行させた実績がないと判定されると、処理フローはステップS44のNOからステップS50に進む。ステップS50では、ゲーム進行部8105は、終了済みのライブ配信パートの制限付きの進行(つまり上述の「見逃し配信」)を実行する。見逃し配信を制限付きのものとしているのは、ユーザ8はライブ配信を受ける権利を有していたにも拘わらず、この権利を放棄したと考えることができるのであるから、必ずしも、ライブ配信の全てを再現してユーザ8に提示する必要もないとの発想に基づく。
 具体的には、見逃し配信では、記録済みの動作指図データを用いて、ライブ配信パートの進行を実行する。例えば、リアルタイム配信のゲームプレイ映像をリアルタイムで表示しなかったユーザ端末800は、リアルタイム配信後に、リアルタイム配信においてゲームに登場した、ユーザ5に関連付けられるアバターオブジェクト6の動作に関する記録済みのデータを、外部装置から受信してもよい。そして、当該ユーザ端末800は、アバターオブジェクト6の動作に関する記録済みのデータを用いて、配信済みのゲームプレイ映像を生成し、再生してもよい。上述のとおり、ユーザ8がアバターオブジェクト6を支援するためにアイテム(例えば、救急箱)を投入していた場合、リアルタイムで進行したライブ配信パートでは、そのアイテムによってアバターオブジェクト6が支援されるようにゲーム画像が生成されていた。つまり、リアルタイムのライブ配信パートでは、アバターオブジェクト6の動作態様は、リアルタイム配信中のユーザ8によるアイテムの投入などの行動に関連付けられていた。すなわち、救急箱等のアイテムを投入することによって、アバターオブジェクト6を支援することができた。しかしながら、見逃し配信においては、このようなリアルタイムで進行したライブ配信パートとは異なり、アバターオブジェクト6の動作態様は、ユーザ8によるアイテムの投入などの行動に関連付けられない。つまり、リアルタイム配信のゲームプレイ映像をリアルタイムで表示しなかったユーザ端末800のユーザ8が投入するアイテムによってアバターオブジェクト6が支援されるようなゲーム画像は生成されない。終了済みのライブ配信パートの進行は、アイテムの投入等が反映されておらず、ユーザ8にとって固有のものとはならない点で、制限付きのものとなる。
 上述の構成および方法によれば、見返し配信では、リアルタイムのライブ配信パートで投入されたアイテムをアバターオブジェクト6の動作態様に反映させることができる。一方、見逃し配信では、このような機能はない(ただし、リアルタイムでライブ配信を視聴していた他の視聴者ユーザ8が投入したアイテムは、見逃し配信においてアバターオブジェクト6の動作態様に反映させてもよい)。つまり、見返し配信(過去にリアルタイムのライブ配信を視聴している)では、見逃し配信よりも興趣性の高い画像を配信することができる。このため、ユーザ8に対し、見逃し配信よりも見返し配信を視聴するインセンティブを与え、結果としてリアルタイムのライブ配信へユーザ8を誘導することができる。
 また、見逃し配信では、リアルタイムで進行したライブ配信パートとは異なり、受け付け可能なユーザ8の行動も制限するのがよい。具体的には、リアルタイムで進行したライブ配信パートでは、ユーザ8の入力操作によるアイテムの投入、仮想通貨の購入等が受け付け可能であった。その一方で、終了済みのライブ配信パートの進行では、このような有価データの消費が受け付けられないように制限してもよい。より詳しくは、リアルタイムで進行したライブ配信パートにおいては、アイテムの投入を実行するためのボタンおよび画面を含むユーザ・インターフェイス(UI)が表示部8702に表示されることが想定される。その場合、ユーザ8は、このようなUIでの入力操作を通じてアイテムの投入を実行することができる。その一方で、見逃し配信では、このようなUIは非表示とされ、ユーザ8による入力操作を明示的に行えないようにするのがよい。その結果、見返し配信および見逃し配信では、ユーザ8は、アバターオブジェクト6を支援するためのアイテムを投入することはできない。
 見返し配信(ステップS48)または見逃し配信(ステップS50)の終了後は、ユーザ端末800によって再び、終了済みのライブ配信パートの進行が要求されてもよい。つまり、見返し配信または見逃し配信は、複数回数にわたり繰り返し実行可能とするのがよい。この場合、処理フローはステップS40に戻ることになる。
 上述の構成および方法によれば、ユーザ端末800において、ライブ配信パートがリアルタイムに進行した後であっても、ユーザ8は再度ライブ配信パートを様々な態様で進行させることができる。これにより、ユーザ8は、実際に配信されたゲームの内容を再度体験したり、追体験したりすることができる。したがって、当該ゲームに対するユーザの興味を高めることができる。結果として、本実施形態は、ゲームの世界への没入感を高め、該ゲームの興趣性を向上させるという効果を奏する。
 <変形例1>
 上記実施形態2では、終了済みのライブ配信パートの進行が見返し配信となるか、見逃し配信となるかは、ユーザ8がライブ配信パートをリアルタイムで進行させた実績があるか否かに基づいて決定されるものとした(図25のステップS44)。これに対し、本実施形態の変形例1では、ユーザ8が見返し配信または見逃し配信を選択可能とするように構成してもよい。或いは、上記実績の有無に拘わらず、見逃し配信のみがユーザに提供されるように構成してもよい。
 <変形例2>
 上記実施形態2では、見返し配信(図25のステップS48)または見逃し配信(図25のステップS50)の終了後に、再び、終了済みのライブ配信パートの進行が要求されてよいものとした。つまり、見返し配信または見逃し配信は、複数回数にわたり繰り返し実行可能であった。本変形例2では、2回目以降の見返し配信または見逃し配信は、前回の見返し配信または見逃し配信の記録に応じたものとするのがよい。
 1回目に見返し配信または見逃し配信が行われた場合、1回目の配信履歴データが、サーバ600の記憶部6200に格納される。その後、終了済みのライブ配信パートに係る記録済みの動作指図データがユーザ端末800から再び要求されると、サーバ600から、1回目の配信履歴データが、記録済みの動作指図データと共に配信される。ユーザ端末800では、受信した1回目の配信履歴データを参照し、1回目の見返し配信または見逃し配信が途中まで行われていた場合には、ユーザ端末800は、その続きから2回目の見返し配信または見逃し配信の進行を再開させる。これにより、ユーザ8は効率的に見返し配信または見逃し配信を実行することができる。
 なお、1回目が見返し配信であれば2回目以降も見返し配信が実行され、1回目が見逃し配信であれば2回目以降も見逃し配信が実行されるのがよい。また、記録済みの動作指図データが既にユーザ端末800に存在している場合には、ユーザ端末800は、記録済みの動作指図データの再度の受信を行わないようにしてもよい。これにより、ユーザ端末800が受信するデータ容量を節約することができる。
 <変形例3>
 実施形態2では、終了済みのライブ配信パートの進行が見返し配信となるか、または見逃し配信となるかは、ユーザ8がライブ配信パートをリアルタイムで進行させた実績に応じて決定されるものとした(図25のステップS44)。本変形例3では、ユーザ8がライブ配信パートをリアルタイムで途中まで進行させていたと判定される場合には、その続きから、終了済みのライブ配信パートの進行を再開させるのがよい。ユーザ8がライブ配信パートをリアルタイムでどこまで進行させたかの記録は、図23で上述したユーザ行動履歴情報から判断することができる。つまり、ユーザ行動履歴情報には、特定のライブ配信パートに関し、ユーザ8がどの時間まで進行させたかが記録されている。なお、これに限定されないが、終了済みのライブ配信パートの再開は、制限付きの進行である見逃し配信とするのがよい。これにより、ユーザ8は効率的に見逃し配信を実行することができる。
<ユーザ端末800の表示画面例>
図26は、本実施形態に係るゲームプログラムに基づく、ユーザ端末800の表示部8702に表示される画面例と、これら画面の間の遷移例を示す。画面例には、ホーム画面8000A、ライブ配信のライブ選択画面8000Bおよび見逃し配信の見逃し選択画面8000Cの例が含まれる。遷移例において、ホーム画面8000Aからはライブ選択画面8000Bに遷移可能である。また、ライブ選択画面8000Bからはホーム画面8000Aおよび見逃し選択画面8000Cに遷移可能である。同様に、見逃し選択画面8000Cからはライブ選択画面8000Bに遷移可能である。なお、実際の配信画面(不図示)は、ライブ画面8000Bおよび見逃し選択画面8000Cから遷移される。
(ホーム画面)
 ホーム画面8000Aは、ライブ配信パートを進行させるための各種メニューをユーザ端末800の表示部8702に表示する。ゲーム進行部8105は、ゲームの開始のために入力操作を受け付けると、最初にホーム画面8000Aを表示する。具体的には、ホーム画面8000Aは、ライブ選択画面8000Bに遷移させるための「ライブ」アイコン8020を含む。ホーム画面8000Aにおける「ライブ」アイコン8020に対する入力操作を受け付けると、ゲーム進行部8105は、ライブ選択画面8000Bを表示部8702に表示させる。
(ライブ選択画面)
 ライブ選択画面8000Bは、配信可能なライブ情報をユーザ8に提示する。特に、ライブ選択画面8000Bは、ライブ配信時刻等をあらかじめユーザ8に通知するための1以上のライブに関する告知情報をリスト表示する。ライブ告知情報は、少なくともライブ配信日時を含む。さらにライブ告知情報は、ライブの無料/有料の情報や、ライブに登場するアバターオブジェクトの画像等を含む広告画像を含んでもよい。また、ライブ選択画面8000Bは、最も近い将来に配信するライブ配信に関する告知情報をライブ選択画面にポップアップ画面8060で表示してもよい。
 ライブ配信時刻になると、サーバ600は、ライブ配信を受ける権利がある1以上のユーザ端末800を探索する。ライブ配信を受ける権利は、ライブ配信を受けるための対価を支払い済みであること(例えばチケットを保有すること)などが条件としてあげられる。ライブ配信を受ける権利があるユーザ端末800には、対応するライブ告知情報が表示されることになる。
 ユーザ端末800において、ライブ再生操作、例えば、ライブ選択画面8000Bにおけるライブ配信時刻となったライブに対する選択操作(より詳しくは、ライブの画像に対するタッチ操作)を受け付ける。それに応じて、ゲーム進行部8105は、表示部8702を実際の配信画面(不図示)に遷移させる。これにより、ユーザ端末800は、ライブ配信パートを進行させ、ライブ視聴処理をリアルタイムで進行させることができる。ライブ視聴処理が実行されると、ゲーム進行部8105は、受信した動作指図データに基づいて、ライブ配信パートにおいてアバターオブジェクト6を動作させる。ゲーム進行部8105は、ライブ配信パートにおいて動作指図データに基づいて動作するアバターオブジェクト6、敵オブジェクト23等を含む動画再生画面を生成し、表示部8702に表示させる。
また、ライブ選択画面8000Bは、直前に表示していた画面に遷移させるための「戻る(×)」アイコン8080と、見逃し選択画面8000Cに遷移させるための「見逃し配信」アイコン8100を表示部8702に表示させてもよい。ここでは、ライブ選択画面8000Bにおける「戻る(×)」アイコン8080に対する入力操作に応じて、ゲーム進行部8105は、画面8000Bをホーム画面8000Aに遷移させる。一方、ライブ選択画面8000Bにおける見逃し配信アイコン810に対する入力操作に対しては、ゲーム進行部8105は、画面8000Bを見逃し選択画面8000Cに遷移させる。
(見逃し選択画面)
 見逃し選択画面8000Cは、過去に配信された1以上のライブに関する配信済み情報のうち、特にユーザ8がライブ配信パートをリアルタイムで進行させた実績がない配信済みの情報を表示する。ユーザ端末800の入力部8701によって、見逃し選択画面8000Cに表示されるライブの配信済み情報、例えばライブに出演したアバターオブジェクトを含む画像8300に対する入力操作を受け付けると、ゲーム進行部8105はライブ配信パート終了後、終了済みのライブ配信パートを再度進行することができる。
 見逃し選択画面8000Cの例に示すように、ライブに関する配信済み情報は、さらに、それぞれの配信済みライブの再生時間812、配信終了までの期間(日数など)8140、現在から起算して何日前に配信されたかを示す情報8160、および過去の配信日時等を含んでもよい。さらに、見逃し選択画面8000Cは、ライブ選択画面8000Bに遷移させるための「戻る(<)」アイコン8180を含む。「戻る(<)」アイコン8180に対する入力操作に応じて、ゲーム進行部8105は、ライブ選択画面8000Bに遷移させる。
 本実施形態では、これに限定されないが、見逃し選択画面8000Cは、ライブ選択画面8000Bのみから遷移され、ホーム画面8000Aからは直接遷移されないようにするのがよい。見逃し配信は、ライブ配信を見逃したユーザ8に対し行うものであり、ライブ配信機能に付随する機能にすぎない。また、見逃し配信は、本ゲームの目的の一つはユーザ8がリアルタイムのライブ配信を視聴し、リアルタイムでキャラクタを応援し、キャラクタとの交流を深めることでゲームの興趣を高めることにある。このため、キャラクタ(配信側ユーザ5)とのリアルタイムの交流ができない見逃し配信よりも、ライブ配信をリアルタイムで視聴するよう視聴者ユーザ8を誘導するために、ここでは、ホーム画面8000Aからは見逃し選択画面8000Cへ直接遷移できないようにするのがよい。
 なお、見逃し選択画面8000Cでは、視聴者であるユーザ8がライブ配信パートをリアルタイムで進行させた実績がない配信済みの情報を表示するようにした。これに代えて、過去に配信された全てのライブに関する配信済み情報をライブ毎にリスト表示してもよい。この場合、ユーザ8がライブ配信パートをリアルタイムで進行させた実績の有無に応じて、見返し配信または見逃し配信の何れかが実行されるのがよい。具体的には、ユーザがライブ配信パートをリアルタイムで進行させた実績があると判定される場合は、前述の見返し配信となる。他方、ユーザ8がライブ配信パートをリアルタイムで進行させた実績がないと判定される場合は見逃し配信となる。図25に関して前述したように、見返し配信と見逃し配信とでは、異なるユーザ体験を提供することができる。
 〔ソフトウェアによる実現例〕
 制御部2100、6100、および8100の各制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
 後者の場合、制御部2100、6100、および8100の少なくとも1つ備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本開示の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本開示の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
 本開示は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本開示の技術的範囲に含まれる。
 今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 〔付記事項〕
 本開示の一側面に係る内容を列記すると以下のとおりである。
 (項目1) 本開示のある局面によると、方法は、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される。前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させる。上記方法は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示しなかった視聴端末が、前記リアルタイム配信後に、外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、前記アバターオブジェクトの動作に関する前記記録済みのデータを用いて、配信済みのゲームプレイ映像を生成して再生するステップとを含む。
 (項目2) (項目1)において、前記リアルタイム配信において、前記アバターオブジェクトの動作態様は、前記リアルタイム配信中に視聴者が投入するアイテムに関連付けられてもよい。前記配信済みのゲームプレイ映像を生成して再生するステップにおいて、前記アバターオブジェクトの動作態様は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示しなかった前記視聴端末の視聴者の行動に関連付けられなくてもよい。
 (項目3) (項目1)または(項目2)において、前記視聴数に応じて、前記所定条件を成立させる難易度が調整されてもよい。ゲームが開始されるときの前記視聴数に応じて、前記難易度が調整されてもよい。
 (項目4) 本開示のある局面によると、方法は、所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される。前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させる。上記方法は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示した視聴端末が、前記リアルタイム配信後に、外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、前記アバターオブジェクトの動作に関する前記記録済みのデータと、前記リアルタイム配信における前記視聴端末の視聴者の行動に関する記録済みのデータとを用いて、ゲームプレイ映像を生成して再生するステップとを含む。
 (項目5) (項目4)において、前記リアルタイム配信において、前記アバターオブジェクトの動作態様は、前記リアルタイム配信中に視聴者が投入するアイテムに関連付けられてもよい。前記ゲームプレイ映像を生成して再生するステップにおいて、前記アバターオブジェクトの動作態様は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示した前記視聴端末の視聴者の行動に関連付けられてもよい。
 (項目6) (項目4)または(項目5)において、前記行動に関する記録済みのデータが時間情報を含んでもよい。前記ゲームプレイ映像を生成して再生するステップが、前記リアルタイム配信における前記視聴者による前記時間情報の指定に従って、前記ゲームプレイ映像を進行させるステップを含んでもよい。
 (項目7) (項目4)から(項目6)のいずれか1つにおいて、前記行動が、前記リアルタイム配信における前記視聴者による特定進行部分の選択を含んでもよい。前記ゲーム映像を生成して再生するステップが、選択された前記特定進行部分のみの進行を実行するステップを含んでもよい。
 (項目8) (項目1)から(項目7)のいずれか1つにおいて、前記視聴端末は表示部を備えてもよい。前記表示部は、前記リアルタイム配信に関するメニューを表示する第1画面と、前記第1画面から遷移され、視聴可能なリアルタイム配信に関する情報を表示する第2画面と、前記配信済みのゲームプレイ映像に関する情報を表示するための第3画面とを表示することができるように構成されてもよい。前記第3画面は、前記第2画面から遷移され、前記第1画面からは遷移されないように構成されてもよい。
 (項目9) (項目8)において、方法は、前記視聴端末が、前記第2画面に対する前記視聴者による入力操作を受け付けると、前記第2画面から前記第3画面に遷移させるステップを含んでもよい。
 (項目10) 本開示のある局面によると、コンピュータ可読媒体はコンピュータ実行可能命令を格納する。当該コンピュータ実行可能命令は、実行されると、ユーザ端末(視聴端末)に、(項目1)から(項目9)のいずれか1つの方法を実行させる。
 (項目11) 本開示のある局面によると、情報処理装置は、(項目1)から(項目9)のいずれか1つの方法のステップを含むプログラムを記憶する記憶部と、前記プログラムを実行することにより前記情報処理装置の動作を制御する制御部とを備える。
 2 ネットワーク、5 プレイヤ、6 アバターオブジェクト、8 ユーザ、11 仮想空間、12 中心、13 パノラマ画像、14,20 仮想カメラ、15,21 視界領域、16 基準視線、17,1400 視界画像、18,19 領域、100 HMDシステム、110 HMDセット、120 HMD、130 モニタ、140 注視センサ、150 第1カメラ、160 第2カメラ、170 マイク、180 スピーカ、190 センサ、200 コンピュータ、210,610,810 プロセッサ、220,620,820 メモリ、230,630,830 ストレージ、240,640,840 入出力インターフェイス、250,650,850 通信インターフェイス、260,660 バス、300 コントローラ、300R 右コントローラ、300L 左コントローラ、310 グリップ、320 フレーム、330 天面、340,350,370,380 ボタン、360 赤外線LED、390 アナログスティック、410 HMDセンサ、420 モーションセンサ、430 ディスプレイ、510 コントロールモジュール、520 レンダリングモジュール、530 メモリモジュール、540 通信制御モジュール、600 サーバ、700 外部機器、1421,8121 仮想オブジェクト生成モジュール、1422,8122 仮想カメラ制御モジュール、1423 操作オブジェクト制御モジュール、1424,8124 アバターオブジェクト制御モジュール、1425 動き検出モジュール、1426 衝突検出モジュール、1427,8127 仮想オブジェクト制御モジュール、800 ユーザ端末、860 カメラ、870 タッチスクリーン、880 測距センサ、2100,6100,8100 制御部、2200,6200,8200 記憶部 2101,8101 操作受付部、2102,8102 表示制御部、2103,8103 UI制御部、2104,8104 アニメーション生成部、2105,8105 ゲーム進行部、2106,8106 仮想空間制御部、2107 反応処理部、8107 進捗情報生成部、6101 進行支援部、6102 共有支援部、231,631,831 ゲームプログラム、132 ゲーム情報、133 ユーザ情報、1020 コントローラ、1030 記憶媒体

Claims (11)

  1.  所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される方法であって、前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させ、前記方法は、
     前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示しなかった視聴端末が、前記リアルタイム配信後に、
      外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、
      前記アバターオブジェクトの動作に関する前記記録済みのデータを用いて、配信済みのゲームプレイ映像を生成して再生するステップと
     を含む、方法。
  2.  前記リアルタイム配信において、前記アバターオブジェクトの動作態様は、前記リアルタイム配信中に視聴者が投入するアイテムに関連付けられ、
     前記配信済みのゲームプレイ映像を生成して再生するステップにおいて、前記アバターオブジェクトの動作態様は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示しなかった前記視聴端末の視聴者の行動に関連付けられない、請求項1に記載の方法。
  3.  前記視聴数に応じて、前記所定条件を成立させる難易度が調整され、
     ゲームが開始されるときの前記視聴数に応じて、前記難易度が調整される、請求項1または2に記載の方法。
  4.  所定条件を成立させることによりクリアとなるゲームのゲームプレイ映像を表示することができる視聴端末により実行される方法であって、前記視聴端末において前記ゲームプレイ映像を表示可能とするためのデータを配信するコンピュータは、前記ゲームプレイ映像のリアルタイム配信において、前記ゲームプレイ映像を表示している視聴端末の視聴数を特定し、視聴者による所定操作に基づき前記視聴端末から送信される操作情報を受信したことに応じて、前記所定条件の成立を支援する支援作用を及ぼし、前記視聴数が第1数であるときには当該第1数よりも小さい第2数であるときよりも前記支援作用が小さくなるように変化させ、前記方法は、
     前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示した視聴端末が、前記リアルタイム配信後に、
      外部装置から、前記リアルタイム配信において前記ゲームに登場した、前記コンピュータのユーザに関連付けられるアバターオブジェクトの動作に関する記録済みのデータを受信するステップと、
      前記アバターオブジェクトの動作に関する前記記録済みのデータと、前記リアルタイム配信における前記視聴端末の視聴者の行動に関する記録済みのデータとを用いて、ゲームプレイ映像を生成して再生するステップと
     を含む、方法。
  5.  前記リアルタイム配信において、前記アバターオブジェクトの動作態様は、前記リアルタイム配信中に視聴者が投入するアイテムに関連付けられ、
     前記ゲームプレイ映像を生成して再生するステップにおいて、前記アバターオブジェクトの動作態様は、前記リアルタイム配信の前記ゲームプレイ映像をリアルタイムで表示した前記視聴端末の視聴者の行動に関連付けられる、請求項4に記載の方法。
  6.  前記行動に関する記録済みのデータが時間情報を含み、
     前記ゲームプレイ映像を生成して再生するステップが、前記リアルタイム配信における前記視聴者による前記時間情報の指定に従って、前記ゲームプレイ映像を進行させるステップを含む、請求項4または5に記載の方法。
  7.  前記行動が、前記リアルタイム配信における前記視聴者による特定進行部分の選択を含み、
     前記ゲーム映像を生成して再生するステップが、選択された前記特定進行部分のみの進行を実行するステップを含む、請求項4から6のいずれか一項に記載の方法。
  8.  前記視聴端末は表示部を備え、前記表示部は、
     前記リアルタイム配信に関するメニューを表示する第1画面と、前記第1画面から遷移され、視聴可能なリアルタイム配信に関する情報を表示する第2画面と、前記配信済みのゲームプレイ映像に関する情報を表示するための第3画面とを表示することができるように構成され、
     前記第3画面は、前記第2画面から遷移され、前記第1画面からは遷移されないように構成される、請求項1から7のいずれか一項に記載の方法。
  9.  前記視聴端末が、
     前記第2画面に対する前記視聴者による入力操作を受け付けると、前記第2画面から前記第3画面に遷移させるステップを含む、請求項8に記載の方法。
  10.  コンピュータ実行可能命令を格納したコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、実行されると、前記視聴端末に、請求項1から9のいずれか一項に記載の方法を実行させる、コンピュータ可読媒体。
  11.  情報処理装置であって、
      請求項1から9のいずれか1項に記載の方法のステップを含むプログラムを記憶する記憶部と、
      前記プログラムを実行することにより前記情報処理装置の動作を制御する制御部と
     を備える、情報処理装置。
PCT/JP2020/048105 2020-12-23 2020-12-23 方法、コンピュータ可読媒体、および情報処理装置 WO2022137375A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2020/048105 WO2022137375A1 (ja) 2020-12-23 2020-12-23 方法、コンピュータ可読媒体、および情報処理装置
JP2022570844A JPWO2022137375A1 (ja) 2020-12-23 2020-12-23

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/048105 WO2022137375A1 (ja) 2020-12-23 2020-12-23 方法、コンピュータ可読媒体、および情報処理装置

Publications (1)

Publication Number Publication Date
WO2022137375A1 true WO2022137375A1 (ja) 2022-06-30

Family

ID=82158680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/048105 WO2022137375A1 (ja) 2020-12-23 2020-12-23 方法、コンピュータ可読媒体、および情報処理装置

Country Status (2)

Country Link
JP (1) JPWO2022137375A1 (ja)
WO (1) WO2022137375A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007117768A (ja) * 2007-02-09 2007-05-17 Namco Bandai Games Inc ゲーム装置および通信ゲームシステム
JP2019071960A (ja) * 2017-10-12 2019-05-16 株式会社バンダイナムコエンターテインメント コンテンツ配信システム及びコンピュータシステム
JP2019150577A (ja) * 2018-02-28 2019-09-12 エヌエイチエヌ コーポレーション ゲームプレイ画像リプレイ方法及び装置
JP2020166726A (ja) * 2019-03-29 2020-10-08 株式会社コロプラ 視聴プログラム、視聴方法、および視聴端末

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007117768A (ja) * 2007-02-09 2007-05-17 Namco Bandai Games Inc ゲーム装置および通信ゲームシステム
JP2019071960A (ja) * 2017-10-12 2019-05-16 株式会社バンダイナムコエンターテインメント コンテンツ配信システム及びコンピュータシステム
JP2019150577A (ja) * 2018-02-28 2019-09-12 エヌエイチエヌ コーポレーション ゲームプレイ画像リプレイ方法及び装置
JP2020166726A (ja) * 2019-03-29 2020-10-08 株式会社コロプラ 視聴プログラム、視聴方法、および視聴端末

Also Published As

Publication number Publication date
JPWO2022137375A1 (ja) 2022-06-30

Similar Documents

Publication Publication Date Title
JP6770598B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6776400B1 (ja) プログラム、方法、および情報端末装置
JP7344189B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
JP6776393B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
WO2022202126A1 (ja) プログラム、方法、および情報処理装置
JP6737941B1 (ja) プログラム、方法、および視聴端末
JP2021053365A (ja) プログラム、方法、および視聴端末
JP6785325B2 (ja) ゲームプログラム、方法、および情報処理装置
US20220355188A1 (en) Game program, game method, and terminal device
JP2020179184A (ja) ゲームプログラム、方法、および情報処理装置
JP6826626B2 (ja) 視聴プログラム、視聴方法、および視聴端末
JP6722316B1 (ja) 配信プログラム、配信方法、コンピュータ、および視聴端末
JP7332562B2 (ja) プログラム、方法、および情報端末装置
EP3991816A1 (en) Game program, game method, and information terminal device
WO2020255991A1 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
US20220241692A1 (en) Program, method, and terminal device
JP6776425B1 (ja) プログラム、方法、および配信端末
JP2022000218A (ja) プログラム、方法、情報処理装置、およびシステム
WO2022137375A1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
JP7299197B2 (ja) 配信プログラム、配信方法、およびコンピュータ
JP7282731B2 (ja) プログラム、方法、および端末
WO2022113330A1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
WO2022113335A1 (ja) 方法、コンピュータ可読媒体、および情報処理装置
JP7191181B2 (ja) プログラム、方法、および情報端末装置
WO2022137377A1 (ja) 情報処理方法、コンピュータ可読媒体、コンピュータシステム、および情報処理装置

Legal Events

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

Ref document number: 20966866

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022570844

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20966866

Country of ref document: EP

Kind code of ref document: A1