WO2020262331A1 - ゲームプログラム、ゲーム方法、および端末装置 - Google Patents

ゲームプログラム、ゲーム方法、および端末装置 Download PDF

Info

Publication number
WO2020262331A1
WO2020262331A1 PCT/JP2020/024484 JP2020024484W WO2020262331A1 WO 2020262331 A1 WO2020262331 A1 WO 2020262331A1 JP 2020024484 W JP2020024484 W JP 2020024484W WO 2020262331 A1 WO2020262331 A1 WO 2020262331A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
character
game
input
virtual space
Prior art date
Application number
PCT/JP2020/024484
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 EP20832780.9A priority Critical patent/EP3988190A4/en
Priority to KR1020227001590A priority patent/KR20220024630A/ko
Priority to US17/622,111 priority patent/US20220355188A1/en
Priority to CN202080044813.4A priority patent/CN114007706A/zh
Publication of WO2020262331A1 publication Critical patent/WO2020262331A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Definitions

  • the present invention relates to game programs, game methods, and terminal devices.
  • Non-Patent Document 1 As a game application that operates an object based on the motion data obtained by capturing the motion of the performer, the image of the virtual space in which the object appears is live-distributed to the user terminal, and the user and the object are connected to each other. There is a game application that enables dialogue (Non-Patent Document 1).
  • the present invention has been conceived in view of such circumstances, and an object of the present invention is to provide a game program, a game method, and an information terminal device capable of advancing each part without causing a defect. ..
  • a game program executed in a terminal device including a processor, a memory, and an input unit causes the processor to execute a step of operating a character arranged in a virtual space and a step of enabling a character viewed from a predetermined viewpoint in the virtual space to be displayed on a predetermined display unit.
  • the character is operated based on the data including the motion data obtained by capturing the motion of the performer who plays the character, and in the second part, the input from the performer.
  • the character is operated based on the input-corresponding data obtained in a manner different from the capture.
  • each part can be advanced without causing any trouble in operability or progress.
  • FIG. 1 It is a figure which shows a specific example of moving image play. It is a figure which shows the other specific example of moving image play.
  • (A) is a diagram showing an example of the appearance of a performer wearing an HMD and a motion sensor
  • (B) is a diagram showing an example of a virtual pad displayed on the distribution terminal 400.
  • (A) is a diagram showing an example of a game video displayed on the user terminal
  • (B) is a diagram showing another example of the game video displayed on the user terminal
  • (C) is a diagram showing another example of the game video displayed on the user terminal.
  • FIG. 1 It is a figure which shows the other example of the game image to be performed, (D) is the figure which shows further another example of the game image displayed on the user terminal, (E) is the figure which shows the game image displayed on the user terminal. It is a figure which shows an example of another example, (F) is a figure which shows an example of a game image displayed on a distribution terminal.
  • A) is a diagram showing an example of a game image displayed on the user terminal
  • (B) is a diagram showing another example of the game image displayed on the user terminal
  • (C) is a diagram showing another example of the game image displayed on the user terminal.
  • (D) is the figure which shows further another example of the game image displayed on the user terminal
  • (E) is the figure which shows the game image displayed on the user terminal.
  • (A) is a diagram showing an example of a game image displayed on the user terminal
  • (B) is a diagram showing another example of the game image displayed on the user terminal
  • (C) is a diagram showing another example of the game image displayed on the user terminal.
  • (D) is the figure which shows further another example of the game image displayed on the user terminal
  • (E) is the figure which shows the game image displayed on the user terminal.
  • (A) is a flowchart showing an example of the processing flow executed in the game play terminal
  • (B) is a flowchart showing an example of the processing flow executed in the distribution terminal. It is a flowchart which shows an example of the flow of processing executed in a user terminal.
  • (A) is a flowchart showing an example of the processing flow executed in each of the user terminal and the distribution terminal
  • (B) shows another example of the processing flow executed in each of the user terminal and the distribution terminal. It is a flowchart.
  • the system according to the present disclosure is a system for providing a game to a plurality of users.
  • the system will be described with reference to the drawings. It should be noted that the present invention is not limited to these examples, and is indicated by the scope of claims, and it is intended that all modifications within the meaning and scope equivalent to the scope of claims are included in the present invention. To. In the following description, the same elements are designated by the same reference numerals in the description of the drawings, and duplicate description will not be repeated.
  • FIG. 1 is a diagram showing an outline of the system 1 according to the present embodiment.
  • the system 1 includes a plurality of user terminals 100 (computers), a server 200, a game play terminal 300 (external device, second external device), and a distribution terminal 400 (external, first external device).
  • user terminals 100A to 100C in other words, three user terminals 100 are shown as an example of a plurality of user terminals 100, but the number of user terminals 100 is not limited to the illustrated example. .. Further, in the present embodiment, when it is not necessary to distinguish the user terminals 100A to C, it is described as "user terminal 100".
  • the user terminal 100, the game play terminal 300, and the distribution terminal 400 are connected to the server 200 via the network 2.
  • the network 2 is composed of various mobile communication systems constructed by the Internet and a wireless base station (not shown). Examples of this mobile communication system include so-called 3G and 4G mobile communication systems, LTE (Long Term Evolution), and wireless networks (for example, Wi-Fi (registered trademark)) that can be connected to the Internet by a predetermined access point. Be done.
  • the game provided by the system 1 may be a game in which a plurality of users participate, and is not limited to this example.
  • Gameplay terminal 300 The game play terminal 300 advances the game in response to an input operation by the player. In addition, the game play terminal 300 sequentially delivers information generated by the player's game play (hereinafter, game progress information) to the server 200 in real time.
  • game progress information information generated by the player's game play
  • the server 200 transmits the game progress information (second data) received in real time from the game play terminal 300 to the user terminal 100.
  • the server 200 mediates the transmission and reception of various information between the user terminal 100, the game play terminal 300, and the distribution terminal 400.
  • the distribution terminal 400 generates operation instruction data (first data) in response to an input operation by the user of the distribution terminal 400, and distributes the operation instruction data to the user terminal 100 via the server 200.
  • the operation instruction data is data for playing back a moving image on the user terminal 100, and specifically, is data for operating a character appearing in the moving image.
  • the user of the distribution terminal 400 is a player of this game.
  • the moving image played on the user terminal 100 based on the operation instruction data is a moving image in which the character operated by the player in the game operates. "Movement" is to move at least a part of the character's body, including speech. Therefore, the motion instruction data according to the present embodiment includes, for example, voice data for causing the character to speak and motion data for moving the character's body.
  • the operation instruction data is transmitted to the user terminal 100 after the end of this game.
  • the details of the operation instruction data and the moving image played based on the operation instruction data will be described later.
  • the user terminal 100 receives the game progress information in real time, and generates and displays the game screen using the information. In other words, the user terminal 100 reproduces the game screen of the game being played by the player by real-time rendering. As a result, the user of the user terminal 100 can visually recognize the same game screen as the game screen that the player is viewing while playing the game at substantially the same timing as the player.
  • the user terminal 100 generates information for supporting the progress of the game by the player in response to the input operation by the user, and transmits the information to the game play terminal 300 via the server 200. Details of the information will be described later.
  • the user terminal 100 receives the operation instruction data from the distribution terminal 400, and generates and reproduces a moving image (video) using the operation instruction data. In other words, the user terminal 100 renders and reproduces the operation instruction data.
  • FIG. 2 is a diagram showing a hardware configuration of the user terminal 100.
  • FIG. 3 is a diagram showing a hardware configuration of the server 200.
  • FIG. 4 is a diagram showing a hardware configuration of the game play terminal 300.
  • FIG. 5 is a diagram showing a hardware configuration of the distribution terminal 400.
  • the user terminal 100 is not limited to the smartphone.
  • the user terminal 100 may be realized as a feature phone, a tablet computer, a laptop computer (so-called laptop computer), a desktop computer, or the like.
  • the user terminal 100 may be a game device suitable for game play.
  • the user terminal 100 measures the processor 10, the memory 11, the storage 12, the communication interface (IF) 13, the input / output IF 14, the touch screen 15 (display unit), the camera 17, and the like. It includes a distance sensor 18. These configurations included in the user terminal 100 are electrically connected to each other by a communication bus.
  • the user terminal 100 may be provided with an input / output IF 14 to which a display (display unit) configured separately from the user terminal 100 main body can be connected in place of or in addition to the touch screen 15.
  • the user terminal 100 may be configured to be communicable with one or more controllers 1020.
  • the controller 1020 establishes communication with the user terminal 100 according to a communication standard such as Bluetooth (registered trademark).
  • the controller 1020 may have one or more buttons or the like, and transmits an output value based on a user's input operation to the buttons or the like to the user terminal 100.
  • 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 100.
  • the controller 1020 may have the camera 17 and the distance measuring sensor 18.
  • the user terminal 100 causes a user who uses the controller 1020 to input user identification information such as the user's name or login ID via the controller 1020.
  • the user terminal 100 can associate the controller 1020 with the user, and identifies which user the output value belongs to based on the source of the received output value (controller 1020). be able to.
  • each user terminal 100 communicates with a plurality of controllers 1020, each user grips each controller 1020, so that the one user terminal 100 does not communicate with other devices such as the server 200 via the network 2.
  • Multiplayer can be realized with.
  • each user terminal 100 communicates with each other according to a wireless standard such as a wireless LAN (Local Area Network) standard (communication connection is made without going through a server 200), thereby realizing local multiplayer with a plurality of user terminals 100. You can also do it.
  • a wireless standard such as a wireless LAN (Local Area Network) standard (communication connection is made without going through a server 200), thereby realizing local multiplayer with a plurality of user terminals 100. You can also do it.
  • the user terminal 100 may further include at least a part of various functions described later described in the server 200.
  • the plurality of user terminals 100 may be provided with various functions described later described in the server 200 in a distributed manner.
  • the user terminal 100 may communicate with the server 200.
  • information indicating a play result such as a result or victory or defeat in a certain game may be associated with user identification information and transmitted to the server 200.
  • the controller 1020 may be configured to be detachable from the user terminal 100.
  • a coupling portion with the controller 1020 may be provided on at least one surface of the housing of the user terminal 100.
  • the user terminal 100 may accept the attachment of a storage medium 1030 such as an external memory card via the input / output IF14. As a result, the user terminal 100 can read the program and data recorded on the storage medium 1030.
  • the program recorded on the storage medium 1030 is, for example, a game program.
  • the user terminal 100 may store the game program acquired by communicating with an external device such as the server 200 in the memory 11 of the user terminal 100, or may store the game program acquired by reading from the storage medium 1030 in the memory 11. You may memorize it in.
  • the user terminal 100 includes a communication IF 13, an input / output IF 14, a touch screen 15, a camera 17, and a distance measuring sensor 18 as an example of a mechanism for inputting information to the user terminal 100.
  • a communication IF 13 an input / output IF 14
  • a touch screen 15 a camera 17, and a distance measuring sensor 18
  • an input mechanism can be regarded as an operation part configured to accept a user's input operation.
  • the operation unit when the operation unit is configured by at least one of the camera 17 and the distance measuring sensor 18, the operation unit detects an object 1010 in the vicinity of the user terminal 100 and performs an input operation from the detection result of the object. Identify.
  • a user'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.
  • the user terminal 100 inputs a gesture (a series of movements of the user's hand) detected based on the captured image. Identify and accept as.
  • the captured image may be a still image or a moving image.
  • the user terminal 100 identifies and accepts the user's operation performed on the input unit 151 of the touch screen 15 as the user's input operation.
  • the operation unit is composed of the communication IF 13
  • the user terminal 100 identifies and accepts a signal (for example, an output value) transmitted from the controller 1020 as an input operation of the user.
  • a signal output from an input device (not shown) different from the controller 1020 connected to the input / output IF14 is specified and accepted as a user input operation.
  • the server 200 may be a general-purpose computer such as a workstation or a personal computer.
  • the server 200 includes a processor 20, a memory 21, a storage 22, a communication IF 23, and an input / output IF 24. These configurations included in the server 200 are electrically connected to each other by a communication bus.
  • Gameplay terminal 300 may be a general-purpose computer such as a personal computer.
  • the game play terminal 300 includes a processor 30, a memory 31, a storage 32, a communication IF 33, and an input / output IF 34. These configurations included in the gameplay terminal 300 are electrically connected to each other by a communication bus.
  • the game play terminal 300 is included in the HMD (Head Mounted Display) set 1000 as an example. That is, it can be expressed that the HMD set 1000 is included in the system 1, and the player can also express that he / she plays a game using the HMD set 1000.
  • the device for the player to play the game is not limited to the HMD set 1000.
  • the device may be any device that allows the player to experience the game virtually.
  • the device may be realized as a smartphone, a feature phone, a tablet computer, a laptop computer (so-called laptop computer), a desktop computer, or the like. Further, the device may be a game device suitable for game play.
  • the HMD set 1000 includes a game play terminal 300, an HMD 500, an HMD sensor 510, a motion sensor 520, a display 530, and a controller 540.
  • the HMD 500 includes a monitor 51, a gaze sensor 52, a first camera 53, a second camera 54, a microphone 55, and a speaker 56.
  • the controller 540 may include a motion sensor 520.
  • the HMD 500 may be mounted on the player's head and provide the player with virtual space during operation. More specifically, the HMD 500 displays an image for the right eye and an image for the left eye on the monitor 51, respectively. When each eye of the player visually recognizes the respective image, the player can recognize the image as a three-dimensional image based on the parallax of both eyes.
  • the HMD 500 may include either a so-called head-mounted display including a monitor and a head-mounted device capable of mounting a smartphone or other terminal having a monitor.
  • the monitor 51 is realized as, for example, a non-transparent display device.
  • the monitor 51 is arranged on the main body of the HMD 500 so as to be located in front of both eyes of the player. Therefore, the player can immerse himself in the virtual space when he / she visually recognizes the three-dimensional image displayed on the monitor 51.
  • the virtual space includes, for example, a background, player-operable objects, and player-selectable menu images.
  • the monitor 51 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 51 can be realized as a transmissive display device.
  • the HMD 500 may be an open type such as a glasses type, not a closed type that covers the player's eyes as shown in FIG.
  • the transmissive monitor 51 may be temporarily configured as a non-transparent display device by adjusting its transmittance.
  • the monitor 51 may include a configuration that simultaneously displays a part of the image constituting the virtual space and the real space.
  • the monitor 51 may display an image of the real space taken by the camera mounted on the HMD 500, or may make the real space visible by setting a part of the transmittance to be high.
  • the monitor 51 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 51 may be configured to display the image for the right eye and the image for the left eye as a unit.
  • the monitor 51 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 500 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 510 has a position tracking function for detecting the movement of the HMD 500. More specifically, the HMD sensor 510 reads a plurality of infrared rays emitted by the HMD 500 and detects the position and inclination of the HMD 500 in the real space.
  • the HMD sensor 510 may be implemented by a camera.
  • the HMD sensor 510 can detect the position and tilt of the HMD 500 by executing the image analysis process using the image information of the HMD 500 output from the camera.
  • the HMD 500 may include a sensor (not shown) as a position detector in place of the HMD sensor 510 or in addition to the HMD sensor 510.
  • the HMD500 can use the sensor to detect the position and tilt of the HMD500 itself.
  • the sensor is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor
  • the HMD500 may use any of these sensors instead of the HMD sensor 510 to detect its position and tilt.
  • the sensor provided in the HMD 500 is an angular velocity sensor
  • the angular velocity sensor detects the angular velocity around the three axes of the HMD 500 in real space over time.
  • the HMD500 calculates the temporal change of the angle around the three axes of the HMD500 based on each angular velocity, and further calculates the inclination of the HMD500 based on the temporal change of the angle.
  • the gaze sensor 52 detects the direction in which the line of sight of the player's right eye and left eye is directed. That is, the gaze sensor 52 detects the line of sight of the player.
  • the detection of the direction of the line of sight is realized by, for example, a known eye tracking function.
  • the gaze sensor 52 is realized by a sensor having the eye tracking function.
  • the gaze sensor 52 preferably includes a sensor for the right eye and a sensor for the left eye.
  • the gaze sensor 52 may be, for example, a sensor that irradiates infrared light to the right eye and left eye of the player and detects the angle of rotation of each eyeball by receiving the reflected light from the cornea and the iris with respect to the irradiation light.
  • the gaze sensor 52 can detect the line of sight of the player based on each of the detected rotation angles.
  • the first camera 53 photographs the lower part of the player's face. More specifically, the first camera 53 photographs the nose and mouth of the player.
  • the second camera 54 photographs the eyes and eyebrows of the player.
  • the housing on the player side of the HMD500 is defined as the inside of the HMD500, and the housing on the side opposite to the player of the HMD500 is defined as the outside of the HMD500.
  • the first camera 53 may be located outside the HMD500 and the second camera 54 may be located inside the HMD500.
  • the images generated by the first camera 53 and the second camera 54 are input to the game play terminal 300.
  • the first camera 53 and the second camera 54 may be realized as one camera, and the player's face may be photographed by this one camera.
  • the microphone 55 converts the player's utterance into a voice signal (electric signal) and outputs it to the game play terminal 300.
  • the speaker 56 converts the voice signal into voice and outputs it to the player.
  • the HMD 500 may include earphones instead of the speaker 56.
  • the controller 540 is connected to the game play terminal 300 by wire or wirelessly.
  • the controller 540 receives an input of a command from the player to the game play terminal 300.
  • the controller 540 is configured to be grippable by the player.
  • the controller 540 is configured to be wearable on a player's body or part of clothing.
  • the controller 540 may be configured to output at least one of vibration, sound, and light based on a signal transmitted from the gameplay terminal 300.
  • the controller 540 receives from the player an operation for controlling the position and movement of an object arranged in the virtual space.
  • the controller 540 includes a plurality of light sources. Each light source is realized by, for example, an LED that emits infrared rays.
  • the HMD sensor 510 has a position tracking function. In this case, the HMD sensor 510 reads a plurality of infrared rays emitted by the controller 540 and detects the position and tilt of the controller 540 in the real space.
  • the HMD sensor 510 may be implemented by a camera. In this case, the HMD sensor 510 can detect the position and tilt of the controller 540 by executing the image analysis process using the image information of the controller 540 output from the camera.
  • the motion sensor 520 is attached to the player's hand in a certain aspect to detect the movement of the player's hand. For example, the motion sensor 520 detects the rotation speed, the number of rotations, and the like of the hand. The detected signal is sent to the game play terminal 300.
  • the motion sensor 520 is provided in the controller 540, for example.
  • the motion sensor 520 is provided in, for example, a controller 540 configured to be grippable by the player.
  • the controller 540 is attached to something that does not easily fly by being attached to the player's hand, such as a glove type.
  • a sensor not attached to the player may detect the movement of the player's hand.
  • the signal of the camera that shoots the player may be input to the game play terminal 300 as a signal indicating the operation of the player.
  • the motion sensor 520 and the game play terminal 300 are wirelessly connected to each other.
  • the communication mode is not particularly limited, and for example, Bluetooth or other known communication method is used.
  • the display 530 displays an image similar to the image displayed on the monitor 51. As a result, users other than the player wearing the HMD 500 can view the same image as the player.
  • the image displayed on the display 530 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 530 include a liquid crystal display and an organic EL monitor.
  • the game play terminal 300 operates a character to be operated by the player based on various information acquired from each part of the HMD 500, the controller 540, and the motion sensor 520, and advances the game.
  • “Movement” here includes moving each part of the body, changing posture, changing facial expressions, moving, uttering, touching and moving objects placed in virtual space, and characters. This includes the use of weapons and tools to grasp. That is, in this game, when the player moves each part of the body, the character also moves each part of the body in the same manner as the player. Further, in this game, the character utters the content uttered by the player. In other words, in this game, the character is an avatar object that behaves as a player's alter ego. As an example, at least part of the character's movements may be performed by input to the controller 540 by the player.
  • the motion sensor 520 is attached to, for example, both hands of the player, both feet of the player, the waist of the player, and the head of the player.
  • the motion sensors 520 attached to both hands of the player may be provided in the controller 540 as described above.
  • the motion sensor 520 attached to the player's head may be provided in the HMD 500.
  • the motion sensor 520 may also be attached to the user's elbows and knees. By increasing the number of motion sensors 520 attached to the player, the movement of the player can be more accurately reflected in the character.
  • the player may wear a suit to which one or more motion sensors 520 are attached. That is, the method of motion capture is not limited to the example using the motion sensor 520.
  • the distribution terminal 400 may be a mobile terminal such as a smartphone, a PDA (Personal Digital Assistant), or a tablet computer. Further, the distribution terminal 400 may be a so-called stationary terminal such as a desktop personal computer.
  • the distribution terminal 400 includes a processor 40, a memory 41, a storage 42, a communication IF 43, an input / output IF 44, and a touch screen 45.
  • the distribution terminal 400 may be provided with an input / output IF 44 to which a display (display unit) configured separately from the distribution terminal 400 main body can be connected in place of or in addition to the touch screen 45.
  • Controller 1021 may have one or more physical input mechanisms such as buttons, levers, sticks, wheels and the like.
  • the controller 1021 transmits an output value based on an input operation input to the input mechanism by the operator of the distribution terminal 400 (player in the present embodiment) to the distribution terminal 400.
  • the controller 1021 may have various sensors such as an acceleration sensor and an angular velocity sensor, and may transmit the output values of the various sensors to the distribution terminal 400.
  • the above-mentioned output value is accepted by the distribution terminal 400 via the communication IF43.
  • the distribution terminal 400 may include a camera and a distance measuring sensor (both not shown).
  • the controller 1021 may have a camera and a distance measuring sensor.
  • the distribution terminal 400 includes a communication IF43, an input / output IF44, and a touch screen 45 as an example of a mechanism for inputting information to the distribution terminal 400.
  • a communication IF43 an input / output IF44
  • a touch screen 45 an example of a mechanism for inputting information to the distribution terminal 400.
  • Each of the above-mentioned parts as an input mechanism can be regarded as an operation part configured to accept a user's input operation.
  • the distribution terminal 400 identifies and accepts the user's operation performed on the input unit 451 of the touch screen 45 as the user's input operation.
  • the distribution terminal 400 identifies and accepts a signal (for example, an output value) transmitted from the controller 1021 as an input operation of the user.
  • the distribution terminal 400 identifies and accepts a signal output from an input device (not shown) connected to the input / output IF44 as a user input operation.
  • the processors 10, 20, 30, and 40 control the overall operation of the user terminal 100, the server 200, the game play terminal 300, and the distribution terminal 400, respectively.
  • Processors 10, 20, 30, and 40 include a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a GPU (Graphics Processing Unit).
  • Processors 10, 20, 30, and 40 read programs from storages 12, 22, 32, and 42, which will be described later, respectively. Then, the processors 10, 20, 30, and 40 expand the read programs into the memories 11, 21, 31, and 41, which will be described later, respectively.
  • Processors 10, 20, and 30 execute the expanded program.
  • the memories 11, 21, 31, and 41 are main storage devices.
  • the memories 11, 21, 31, and 41 are composed of storage devices such as a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the memory 11 provides a work area to the processor 10 by temporarily storing a program and various data read from the storage 12 described later by the processor 10.
  • the memory 11 also temporarily stores various data generated while the processor 10 is operating according to the program.
  • the memory 21 provides a work area to the processor 20 by temporarily storing various programs and data read from the storage 22 described later by the processor 20.
  • the memory 21 also temporarily stores various data generated while the processor 20 is operating according to the program.
  • the memory 31 provides a work area to the processor 30 by temporarily storing various programs and data read from the storage 32 described later by the processor 30.
  • the memory 31 also temporarily stores various data generated while the processor 30 is operating according to the program.
  • the memory 41 provides a work area to the processor 40 by temporarily storing a program and various data read from the storage 42 described later by the processor 40.
  • the memory 41 also temporarily stores various data generated while the processor 40 is operating according to the program.
  • the programs executed by the processors 10 and 30 may be the game programs of the present game.
  • the program executed by the processor 40 may be a distribution program for realizing distribution of operation instruction data.
  • the processor 10 may further execute a viewing program for realizing the reproduction of the moving image.
  • the program executed by the processor 20 may be at least one of the above-mentioned game program, distribution program, and viewing program.
  • the processor 20 executes at least one of a game program, a distribution program, and a viewing program in response to a request from at least one of the user terminal 100, the game play terminal 300, and the distribution terminal 400.
  • the distribution program and the viewing program may be executed in parallel.
  • the game program may be a program that realizes the game in cooperation with the user terminal 100, the server 200, and the game play terminal 300.
  • the distribution program may be a program that realizes distribution of operation instruction data in collaboration with the server 200 and the distribution terminal 400.
  • the viewing program may be a program that realizes the reproduction of a moving image in collaboration with the user terminal 100 and the server 200.
  • the storages 12, 22, 32, and 42 are auxiliary storage devices.
  • the storages 12, 22, 32, and 42 are composed of a storage device such as a flash memory or an HDD (Hard Disk Drive).
  • various data related to the game are stored in the storages 12 and 32.
  • Various data related to the distribution of operation instruction data are stored in the storage 42.
  • various data related to the reproduction of the moving image are stored in the storage 12.
  • the storage 22 may store at least a part of various data related to each of the game, the distribution of the operation instruction data, and the reproduction of the moving image.
  • the communication IFs 13, 23, 33, and 43 control the transmission and reception of various data in the user terminal 100, the server 200, the game play terminal 300, and the distribution terminal 400, respectively.
  • Communication IF13, 23, 33, 43 includes, for example, communication via wireless LAN (Local Area Network), Internet communication via wired LAN, wireless LAN, or mobile phone network, and communication using short-range wireless communication. To control.
  • wireless LAN Local Area Network
  • Internet communication via wired LAN, wireless LAN, or mobile phone network
  • the input / output IFs 14, 24, 34, and 44 are interfaces for the user terminal 100, the server 200, the game play terminal 300, and the distribution terminal 400 to receive data input and to output data, respectively.
  • the input / output IFs 14, 24, 34, and 44 may input / output data via USB (Universal Serial Bus) or the like.
  • Input / output IFs 14, 24, 34, 44 may include physical buttons, cameras, microphones, speakers, mice, keyboards, displays, sticks, levers and the like. Further, the input / output IFs 14, 24, 34, and 44 may include a connection portion for transmitting and receiving data to and from a peripheral device.
  • the touch screen 15 is an electronic component that combines an input unit 151 and a display unit 152 (display).
  • the touch screen 45 is an electronic component that combines an input unit 451 and a display unit 452.
  • the input units 151 and 451 are, for example, touch-sensitive devices, and are configured by, for example, a touch pad.
  • the display units 152 and 452 are composed of, for example, a liquid crystal display, an organic EL (Electro-Luminescence) display, or the like.
  • the input units 151 and 451 detect the position where the user'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 information indicating the position. Has a function of transmitting as an input signal.
  • the input units 151 and 451 may include touch sensing units (not shown).
  • the touch sensing unit may adopt any method such as a capacitance method or a resistance film method.
  • the user terminal 100 and the distribution terminal 400 may each include one or more sensors for specifying the holding posture of the user terminal 100 and the distribution terminal 400, respectively.
  • This sensor may be, for example, an acceleration sensor, an angular velocity sensor, or the like.
  • the processors 10 and 40 each specify the holding postures of the user terminal 100 and the distribution terminal 400 from the output of the sensor, and perform processing according to the holding posture. It will also be possible.
  • the processors 10 and 40 may be a vertical screen display in which vertically long images are displayed on the display units 152 and 452 when the user terminal 100 and the distribution terminal 400 are held vertically, respectively.
  • a horizontally long image may be displayed on the display unit as a horizontal screen display. In this way, the processors 10 and 40 may be able to switch between the vertical screen display and the horizontal screen display according to the holding postures of the user terminal 100 and the distribution terminal 400, respectively.
  • FIG. 6 is a block diagram showing a functional configuration of a user terminal 100, a server 200, and an HMD set 1000 included in the system 1.
  • FIG. 7 is a block diagram showing a functional configuration of the distribution terminal 400 shown in FIG.
  • the user terminal 100 has a function as an input device that accepts a user's input operation and a function as an output device that outputs a game image or sound.
  • the user terminal 100 functions as a control unit 110 and a storage unit 120 in cooperation with a processor 10, a memory 11, a storage 12, a communication IF 13, an input / output IF 14, a touch screen 15, and the like.
  • the server 200 has a function of mediating the transmission / reception of various information between the user terminal 100, the HMD set 1000, and the distribution terminal 400.
  • the server 200 functions as a control unit 210 and a storage unit 220 in cooperation with the processor 20, the memory 21, the storage 22, the communication IF23, the input / output IF24, and the like.
  • the HMD set 1000 (game play terminal 300) has a function as an input device for receiving an input operation of a player, a function as an output device for outputting a game image and sound, and a user of game progress information via a server 200. It has a function of transmitting to the terminal 100 in real time.
  • the HMD set 1000 is a control unit 310 in cooperation with the processor 30, memory 31, storage 32, communication IF33, input / output IF34 of the game play terminal 300, and the HMD500, HMD sensor 510, motion sensor 520, controller 540, and the like. And functions as a storage unit 320.
  • the distribution terminal 400 has a function of generating operation instruction data and transmitting the operation instruction data to the user terminal 100 via the server 200.
  • the distribution terminal 400 functions as a control unit 410 and a storage unit 420 in cooperation with the processor 40, the memory 41, the storage 42, the communication IF43, the input / output IF44, the touch screen 45, and the like.
  • the storage unit 120 stores the game program 131 (program), the game information 132, and the user information 133.
  • the storage unit 220 stores the game program 231 and the game information 232, the user information 233, and the user list 234.
  • the storage unit 320 stores the game program 331, the game information 332, and the user information 333.
  • the storage unit 420 stores the user list 421, the motion list 422, and the distribution program 423 (program, second program).
  • the game programs 131, 231 and 331 are game programs executed by the user terminal 100, the server 200, and the HMD set 1000, respectively. This game is realized by the cooperative operation of each device based on the game programs 131, 231 and 331.
  • the game programs 131 and 331 may be stored in the storage unit 220 and downloaded to the user terminal 100 and the HMD set 1000, respectively.
  • the user terminal 100 renders the data received from the distribution terminal 400 based on the game program 131, and reproduces the moving image.
  • the game program 131 is also a program for playing back a moving image using the moving image instruction data distributed from the distribution terminal 400.
  • the program for playing the moving image may be different from the game program 131.
  • the storage unit 120 is the game program 1 Separately from 31, a program for playing the moving image is stored.
  • the game information 132, 232, and 332 are data that the user terminal 100, the server 200, and the HMD set 1000 refer to when executing the game program, respectively.
  • the user information 133, 233, and 333 are data related to the user account of the user terminal 100.
  • the game information 232 is the game information 132 of each user terminal 100 and the game information 332 of the HMD set 1000.
  • the user information 233 is the user information of the player included in the user information 133 of each user terminal 100 and the user information 333.
  • the user information 333 is the user information 133 of each user terminal 100 and the user information of the player.
  • the user list 234 and the user list 421 are a list of users who have participated in the game.
  • the user list 234 and the user list 421 may include a list of users who participated in the most recent gameplay by the player, as well as a list of users who participated in each gameplay before the gameplay.
  • the motion list 422 is a list of a plurality of motion data created in advance.
  • the motion list 422 is, for example, a list in which motion data is associated with each of the information (for example, a motion name) that identifies each motion.
  • the distribution program 423 is a program for realizing distribution of operation instruction data for playing a moving image on the user terminal 100 to the user terminal 100.
  • the control unit 210 comprehensively controls the server 200 by executing the game program 231 stored in the storage unit 220.
  • the control unit 210 mediates the transmission and reception of various information between the user terminal 100, the H MD set 1000, and the distribution terminal 400.
  • the control unit 210 functions as a communication mediation unit 211, a log generation unit 212, and a list generation unit 213 according to the description of the game program 231.
  • the control unit 210 can also function as another functional block (not shown) for mediating the transmission and reception of various information related to game play and distribution of operation instruction data, and for supporting the progress of the game.
  • the communication mediation unit 211 mediates the transmission and reception of various information between the user terminal 100, the HMD set 1000, and the distribution terminal 400. For example, the communication mediation unit 211 transmits the game progress information received from the HMD set 1000 to the user terminal 100.
  • the game progress information includes data indicating the movement of the character operated by the player, the parameters of the character, information on items and weapons possessed by the character, enemy characters, and the like.
  • the server 200 transmits the game progress information to the user terminals 100 of all the users participating in the game. In other words, the server 200 transmits common game progress information to the user terminals 100 of all users participating in the game. As a result, the game progresses in the same manner as the HMD set 1000 on each of the user terminals 100 of all the users participating in the game.
  • the communication mediation unit 211 transmits the information received from any one of the user terminals 100 to support the progress of the game by the player to the other user terminals 100 and the HMD set 1000.
  • the information may be an item for the player to advance the game advantageously, and may be item information indicating an item provided to the player (character).
  • the item information includes information (user name, user ID, etc.) indicating the user who provided the item.
  • the communication mediation unit 211 may mediate the distribution of the operation instruction data from the distribution terminal 400 to the user terminal 100.
  • the log generation unit 212 generates a game progress log based on the game progress information received from the HMD set 1000.
  • the list generation unit 213 generates the user list 234 after the end of game play. Although the details will be described later, each user in the user list 234 is associated with a tag indicating the content of the support provided to the player by the user.
  • the list generation unit 213 generates a tag based on the game progress log generated by the log generation unit 212, and associates it with the corresponding user.
  • the list generation unit 213 may associate the content of the support provided by each user to the player, which is input by the game operator or the like using a terminal device such as a personal computer, with the corresponding user as a tag. ..
  • the user terminal 100 transmits information indicating the user to the server 200 based on the user's operation. For example, the user terminal 100 transmits the user ID input by the user to the server 200. That is, the server 200 holds information indicating each user for all the users participating in the game.
  • the list generation unit 213 may generate the user list 234 using the information.
  • the control unit 310 comprehensively controls the HMD set 1000 by executing the game program 331 stored in the storage unit 320. For example, the control unit 310 advances the game according to the game program 331 and the operation of the player. In addition, the control unit 310 communicates with the server 200 to send and receive information as needed while the game is in progress. The control unit 310 may send and receive information directly to and from the user terminal 100 without going through the server 200.
  • the control unit 310 has an operation reception unit 311, a display control unit 312, a UI control unit 313, an animation generation unit 314, a game progress unit 315, a virtual space control unit 316, and a reaction processing unit 317 according to the description of the game program 331. Functions as.
  • the control unit 310 can also function as other functional blocks (not shown) for controlling characters appearing in the game, depending on the nature of the game to be executed.
  • the operation reception unit 311 detects and accepts the input operation of the player.
  • the operation reception unit 311 receives signals input from the HMD 500, the motion sensor 520, the controller 540, etc., determines what kind of input operation has been performed, and outputs the result to each element of the control unit 310.
  • the UI control unit 313 controls a user interface (hereinafter, UI) image to be displayed on the monitor 51, the display 530, and the like.
  • UI image is a tool for the player to make an input necessary for the progress of the game to the HMD set 1000, or a tool for obtaining information output during the progress of the game from the HMD set 1000.
  • UI images are, but are not limited to, icons, buttons, lists, menu screens, and the like.
  • the animation generation unit 314 generates animations showing the motions of various objects based on the control modes of the various objects. For example, the animation generation unit 314 may generate an animation or the like that expresses how an object (for example, a player's avatar object) moves as if it were there, moves its mouth, or changes its facial expression. ..
  • the game progress unit 315 advances the game based on the game program 331, the input operation by the player, the operation of the avatar object in response to the input operation, and the like. For example, the game progress unit 315 performs a predetermined game process when the avatar object performs a predetermined operation. Further, for example, the game progress unit 315 may receive information representing a user's operation on the user terminal 100 and perform game processing based on the user's operation. In addition, the game progress unit 315 generates game progress information according to the progress of the game and transmits it to the server 200. The game progress information is transmitted to the user terminal 100 via the server 200. As a result, the progress of the game in the HMD set 1000 is shared in the user terminal 100. In other words, the progress of the game in the HMD set 1000 and the progress of the game in the user terminal 100 are synchronized.
  • the virtual space control unit 316 performs various controls related to the virtual space provided to the player according to the progress of the game. As an example, the virtual space control unit 316 creates various objects and arranges them in the virtual space. Further, the virtual space control unit 316 arranges the virtual camera in the virtual space. In addition, the virtual space control unit 316 operates various objects arranged in the virtual space according to the progress of the game. Further, the virtual space control unit 316 controls the position and inclination of the virtual camera arranged in the virtual space according to the progress of the game.
  • the display control unit 312 outputs a game screen on which the processing results executed by each of the above elements are reflected to the monitor 51 and the display 530.
  • the display control unit 312 may display an image based on the field of view from the virtual camera arranged in the virtual space on the monitor 51 and the display 530 as a game screen. Further, the display control unit 312 may include the animation generated by the animation generation unit 314 in the game screen. Further, the display control unit 312 may superimpose and draw the above-mentioned UI image controlled by the UI control unit 313 on the game screen.
  • the reaction processing unit 317 receives feedback on the reaction of the user of the user terminal 100 to the game play of the player, and outputs this to the player.
  • the user terminal 100 can create a comment (message) addressed to the avatar object based on the input operation of the user.
  • the reaction processing unit 317 receives the comment data of the comment and outputs it.
  • the reaction processing unit 317 may display the text data corresponding to the user's comment on the monitor 51 and the display 530, or may output the voice data corresponding to the user's comment from a speaker (not shown). In the former case, the reaction processing unit 317 may superimpose and draw an image corresponding to the text data (that is, an image including the content of the comment) on the game screen.
  • the control unit 110 comprehensively controls the user terminal 100 by executing the game program 131 stored in the storage unit 120. For example, the control unit 110 advances the game according to the game program 131 and the user's operation. In addition, the control unit 110 communicates with the server 200 to send and receive information as needed while the game is in progress. The control unit 110 may send and receive information directly to and from the HMD set 1000 without going through the server 200.
  • the control unit 110 has an operation reception unit 111, a display control unit 112, a UI control unit 113, an animation generation unit 114, a game progress unit 115, a virtual space control unit 116, and a video playback unit 117 according to the description of the game program 131. Functions as.
  • the control unit 110 can also function as other functional blocks (not shown) for the progress of the game, depending on the nature of the game being executed.
  • the operation reception unit 111 detects and accepts a user's input operation with respect to the input unit 151.
  • the operation reception unit 111 determines what kind of input operation has been performed from the action exerted by the user on the console via the touch screen 15 and other input / output IF14s, and outputs the result to each element of the control unit 110. To do.
  • the operation receiving unit 111 receives an input operation for the input unit 151, detects the coordinates of the input position of the input operation, and specifies the type of the input operation.
  • the operation reception unit 111 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 111 detects that the contact input is released from the touch screen 15 when the continuously detected input is interrupted.
  • the UI control unit 113 controls a UI image to be displayed on the display unit 152 in order to construct a UI according to at least one of a user's input operation and received game progress information.
  • the UI image is a tool for the user to input necessary input for the progress of the game to the user terminal 100, or a tool for obtaining information output from the user terminal 100 during the progress of the game.
  • UI images are, but are not limited to, icons, buttons, lists, menu screens, and the like.
  • the animation generation unit 114 generates animations showing the motions of various objects based on the control modes of the various objects.
  • the game progress unit 115 advances the game based on the game program 131, the received game progress information, the input operation by the user, and the like.
  • the game progress unit 115 transmits information about the game process to the HMD set 1000 via the server 200.
  • the predetermined game processing is shared in the HMD set 1000.
  • the predetermined game process is, for example, a process of providing an item to the avatar object, and in this example, the information related to the game process is the item information described above.
  • the virtual space control unit 116 performs various controls related to the virtual space provided to the user according to the progress of the game.
  • the virtual space control unit 116 creates various objects and arranges them in the virtual space.
  • the virtual space control unit 116 arranges the virtual camera in the virtual space.
  • the virtual space control unit 116 operates various objects arranged in the virtual space according to the progress of the game, specifically, the received game progress information.
  • the virtual space control unit 316 controls the position and inclination of the virtual camera arranged in the virtual space according to the progress of the game, specifically, the received game progress information.
  • the display control unit 112 outputs to the display unit 152 a game screen in which the processing results executed by each of the above elements are reflected.
  • the display control unit 112 may display an image based on the field of view from the virtual camera arranged in the virtual space provided to the user on the display unit 152 as a game screen. Further, the display control unit 112 may include the animation generated by the animation generation unit 114 in the game screen. Further, the display control unit 112 may superimpose and draw the above-mentioned UI image controlled by the UI control unit 113 on the game screen.
  • the game screen displayed on the display unit 152 is the same game screen as the game screen displayed on the other user terminal 100 and the HMD set 1000.
  • the moving image reproduction unit 117 analyzes (renders) the operation instruction data received from the distribution terminal 400, and reproduces the moving image.
  • the control unit 410 comprehensively controls the distribution terminal 400 by executing a program (not shown) stored in the storage unit 420. For example, the control unit 410 generates operation instruction data and distributes it to the user terminal 100 according to the operation of the program and the user (player in this embodiment) of the distribution terminal 400. In addition, the control unit 410 communicates with the server 200 to send and receive information as needed. The control unit 410 may send and receive information directly to and from the user terminal 100 without going through the server 200.
  • the control unit 410 functions as a communication control unit 411, a display control unit 412, an operation reception unit 413, a voice reception unit 414, a motion identification unit 415, and an operation instruction data generation unit 416 according to the description of the program.
  • the control unit 410 can also function as other functional blocks (not shown) for the generation and distribution of operation instruction data.
  • the communication control unit 411 controls transmission / reception of information to / from the server 200 or the user terminal 100 via the server 200.
  • the communication control unit 411 receives the user list 421 from the server 200 as an example. Further, the communication control unit 411 transmits the operation instruction data to the user terminal 100 as an example.
  • the display control unit 412 outputs various screens reflecting the processing results executed by each element to the display unit 452. As an example, the display control unit 412 displays a screen including the received user list 234. Further, as an example, the display control unit 412 displays a screen including a motion list 422 for causing the player to select motion data for operating the avatar object included in the motion instruction data to be distributed.
  • the operation reception unit 413 detects and accepts a player's input operation with respect to the input unit 151.
  • the operation reception unit 111 determines what kind of input operation has been performed from the action exerted by the player on the console via the touch screen 45 and other input / output IF44s, and outputs the result to each element of the control unit 410. To do.
  • the operation reception unit 413 receives an input operation for the input unit 451, detects the coordinates of the input position of the input operation, and specifies the type of the input operation.
  • the operation reception unit 413 specifies, for example, a touch operation, a slide operation, a swipe operation, a tap operation, and the like as the types of input operations. Further, the operation reception unit 413 detects that the contact input is released from the touch screen 45 when the continuously detected input is interrupted.
  • the voice reception unit 414 receives the voice generated around the distribution terminal 400 and generates voice data of the voice.
  • the voice receiving unit 414 receives the voice spoken by the player and generates voice data of the voice.
  • the motion specifying unit 415 specifies the motion data selected by the player from the motion list 422 according to the input operation of the player.
  • the operation instruction data generation unit 416 generates operation instruction data.
  • the operation instruction data generation unit 416 generates operation instruction data including the generated voice data and the specified motion data.
  • the functions of the HMD set 1000, the server 200, and the user terminal 100 shown in FIG. 6 and the functions of the distribution terminal 400 shown in FIG. 7 are merely examples.
  • Each device of the HMD set 1000, the server 200, the user terminal 100, and the distribution terminal 400 may include at least a part of the functions provided by the other devices.
  • another device other than the HMD set 1000, the server 200, the user terminal 100, and the distribution terminal 400 may be a component of the system 1, and the other device may be made to execute a part of the processing in the system 1.
  • the computer that executes the game program in the present embodiment may be any of the HMD set 1000, the server 200, the user terminal 100, the distribution terminal 400, and other devices, or a plurality of these. It may be realized by the combination of the devices of.
  • FIG. 8 is a flowchart showing an example of a flow of control processing of the virtual space provided to the player and the virtual space provided to the user of the user terminal 100.
  • FIG. 9 is a diagram showing a virtual space 600A provided to the player and a field of view image visually recognized by the player according to an embodiment.
  • FIG. 10 is a diagram showing a virtual space 600B provided to the user of the user terminal 100 and a field of view image visually recognized by the user according to a certain embodiment.
  • virtual space 600 when it is not necessary to distinguish between the virtual spaces 600A and 600B, it is described as "virtual space 600".
  • step S1 the processor 30 defines the virtual space 600A shown in FIG. 9 as the virtual space control unit 316.
  • the processor 30 defines a virtual space 600A by using virtual space data (not shown).
  • the virtual space data may be stored in the game play terminal 300, may be generated by the processor 30 based on the game program 331, or may be acquired by the processor 30 from an external device such as the server 200. May be good.
  • the virtual space 600 has an all-sky spherical structure that covers the entire 360-degree direction of a point defined as a center.
  • the celestial sphere in the upper half of the virtual space 600 is illustrated so as not to complicate the explanation.
  • step S2 the processor 30 arranges the avatar object 610 (character) in the virtual space 600A as the virtual space control unit 316.
  • the avatar object 610 is an avatar object associated with the player, and operates according to the input operation of the player.
  • step S3 the processor 30 arranges other objects in the virtual space 600A as the virtual space control unit 316.
  • the processor 30 arranges objects 631 to 634.
  • Other objects are, for example, character objects (so-called non-player characters, NPCs) that operate according to the game program 331, operation objects such as virtual hands, animals, plants, artificial objects, natural objects, etc. that are arranged according to the progress of the game.
  • Can include such objects as
  • step S4 the processor 30 arranges the virtual camera 620A in the virtual space 600A as the virtual space control unit 316. As an example, the processor 30 arranges the virtual camera 620A at the position of the head of the avatar object 610.
  • step S5 the processor 30 displays the field of view image 650 on the monitor 51 and the display 530.
  • the processor 30 defines a field of view 640A, which is the field of view from the virtual camera 620A in the virtual space 600A, according to the initial position and tilt of the virtual camera 620A. Then, the processor 30 defines the field of view image 650 corresponding to the field of view area 640A.
  • the processor 30 outputs the field of view image 650 to the monitor 51 and the display 530 to display the field of view image 650 on the HMD 500 and the display 530.
  • a part of the object 634 is included in the field of view area 640A, so that the field of view image 650 is one of the objects 634 as shown in FIG. 9B. Including part.
  • step S6 the processor 30 transmits the initial arrangement information to the user terminal 100 via the server 200.
  • the initial placement information is information indicating the initial placement positions of various objects in the virtual space 600A.
  • the initial placement information includes the avatar object 610 and the information of the initial placement positions of the objects 631 to 634.
  • the initial placement information can also be expressed as one of the game progress information.
  • step S7 the processor 30 controls the virtual camera 620A according to the movement of the HMD 500 as the virtual space control unit 316. Specifically, the processor 30 controls the orientation and tilt of the virtual camera 620A according to the movement of the HM D500, that is, the posture of the player's head. As will be described later, when the player moves the head (changes the posture of the head), the processor 30 moves the head of the avatar object 610 in accordance with this movement. The processor 30 controls the orientation and tilt of the virtual camera 620A so that, for example, the direction of the line of sight of the avatar object 610 coincides with the direction of the line of sight of the virtual camera 620A. In step S8, the processor 30 updates the field of view image 650 in response to changes in the orientation and tilt of the virtual camera 620A.
  • step S9 the processor 30 moves the avatar object 610 as the virtual space control unit 316 according to the movement of the player.
  • the processor 30 moves the avatar object 610 in the virtual space 600A in response to the player moving in the real space.
  • the processor 30 moves the head of the avatar object 610 in the virtual space 600A in response to the player moving the head in the real space.
  • step S10 the processor 30 moves the virtual camera 620A as the virtual space control unit 316 so as to follow the avatar object 610. That is, the virtual camera 620A is always at the position of the head of the avatar object 610 even if the avatar object 610 moves.
  • the processor 30 updates the field of view image 650 in response to the movement of the virtual camera 620A. That is, the processor 30 updates the field of view area 640A according to the posture of the player's head and the position of the virtual camera 620A in the virtual space 600A. As a result, the field of view image 650 is updated.
  • step S11 the processor 30 transmits the operation instruction data of the avatar object 610 to the user terminal 100 via the server 200.
  • the operation instruction data here is motion data that captures the player's motion, voice data of the voice spoken by the player, and operation data indicating the content of the input operation to the controller 540 during the virtual experience (for example, during game play). Includes at least one.
  • the operation instruction data is transmitted to the user terminal 100 as, for example, game progress information.
  • steps S7 to S11 are continuously and repeatedly executed while the player is playing the game.
  • step S21 the processor 10 of the user terminal 100 of the user 3 defines the virtual space 600B shown in FIG. 10 as the virtual space control unit 116.
  • the processor 10 defines the virtual space 600B by using the virtual space data (not shown).
  • the virtual space data may be stored in the user terminal 100, may be generated by the processor 10 based on the game program 131, or may be acquired by the processor 10 from an external device such as the server 200. Good.
  • step S22 the processor 10 receives the initial placement information.
  • step S23 the processor 10 arranges various objects in the virtual space 600B as the virtual space control unit 116 according to the initial arrangement information.
  • the various objects are the avatar object 610 and the objects 631 to 634.
  • step S24 the processor 10 arranges the virtual camera 620B in the virtual space 600B as the virtual space control unit 116. As an example, the processor 10 arranges the virtual camera 620B at the position shown in FIG. 10 (A).
  • step S25 the processor 10 displays the field of view image 660 on the display unit 152.
  • the processor 10 defines a field of view 640B, which is a field of view from the virtual camera 620B in the virtual space 600B, according to the initial position and tilt of the virtual camera 620B. Then, the processor 10 defines the field of view image 660 corresponding to the field of view area 640B.
  • the processor 10 outputs the field of view image 660 to the display unit 152 to display the field of view image 660 on the display unit 152.
  • the avatar object 610 and the object 631 are included in the field of view area 640B, so that the field of view image 660 is the avatar object 610 as shown in FIG. 10B. And the object 631.
  • step S26 the processor 10 receives the operation instruction data.
  • step S27 the processor 10 moves the avatar object 610 in the virtual space 600B as the virtual space control unit 116 according to the operation instruction data. In other words, the processor 10 reproduces the video in which the avatar object 610 is operating by real-time rendering.
  • step S28 the processor 10 controls the virtual camera 620B as the virtual space control unit 116 according to the operation of the user received as the operation reception unit 111.
  • step S29 the processor 10 updates the field of view image 660 in response to changes in the position of the virtual camera 620B in the virtual space 600B, the orientation and tilt of the virtual camera 620B.
  • the processor 10 may automatically control the virtual camera 620B according to the movement of the avatar object 610, for example, the movement of the avatar object 610 or the change of the orientation.
  • the processor 10 may automatically move the virtual camera 620B or change its orientation and tilt so that the avatar object 610 is always photographed from the front.
  • the processor 10 may automatically move the virtual camera 620B or change the orientation and tilt so as to always shoot the avatar object 610 from the rear according to the movement of the avatar object 610. Good.
  • the avatar object 610 operates according to the movement of the player.
  • the operation instruction data indicating this operation is transmitted to the user terminal 100.
  • the avatar object 610 operates according to the received operation instruction data.
  • the avatar object 610 performs the same operation in the virtual space 600A and the virtual space 600B.
  • the user 3 can visually recognize the movement of the avatar object 610 according to the movement of the player by using the user terminal 100.
  • FIG. 11 is a diagram showing another example of the field of view image displayed on the user terminal 100. Specifically, it is a figure which shows an example of the game screen of the game (this game) executed by the system 1 played by a player.
  • an avatar object 610 that operates weapons such as guns and knives and a plurality of enemy objects 671 that are NPCs appear in the virtual space 600, and the avatar object 610 fights against the enemy object 671. It is a game to let you.
  • Various game parameters such as the physical strength of the avatar object 610, the number of magazines that can be used, the number of remaining bullets of the gun, and the remaining number of the enemy object 671 are updated as the game progresses.
  • a plurality of stages are prepared in this game, and the player can clear the stage by satisfying a predetermined achievement condition associated with each stage.
  • Predetermined achievement conditions are established by, for example, defeating all appearing enemy objects 671, defeating boss objects among the appearing enemy objects 671, acquiring predetermined items, reaching a predetermined position, and the like. It may include the condition to be used.
  • the achievement conditions are defined in the game program 131.
  • the player clears the stage when the achievement condition is satisfied according to the content of the game, in other words, the avatar object 610 wins the enemy object 671 (avatar object 610 and enemy object 671). The victory or defeat between) is decided.
  • the game executed by the system 1 is a racing game or the like, the ranking of the avatar object 610 is determined when the condition of reaching the goal is satisfied.
  • the game progress information is live-distributed to the plurality of user terminals 100 at predetermined time intervals.
  • the touch screen 15 of the user terminal 100 during viewing the game displays a field of view image in the field of view defined by the virtual camera 620B corresponding to the user terminal 100.
  • parameter images showing the physical strength of the avatar object 610, the number of magazines that can be used, the number of remaining bullets of the gun, the remaining number of the enemy object 671 and the like are displayed superimposed. ..
  • This field of view image can also be expressed as a game screen.
  • the game progress information includes motion data that captures the player's actions, voice data of the voice spoken by the player, and operation data that indicates the content of the input operation to the controller 540.
  • These data are, that is, information for specifying the position, posture, orientation, etc. of the avatar object 610, information for specifying the position, posture, orientation, etc. of the enemy object 671, and other objects (for example, obstacle objects 672 and 673). It is information that identifies the position of.
  • the processor 10 identifies the position, posture, orientation, and the like of each object by analyzing (rendering) the game progress information.
  • the game information 132 includes data of various objects such as an avatar object 610, an enemy object 671, and obstacle objects 672 and 673.
  • the processor 10 updates the position, posture, orientation, and the like of each object by using the data and the analysis result of the game progress information. As a result, the game progresses, and each object in the virtual space 600B moves in the same manner as each object in the virtual space 600A. Specifically, in the virtual space 600B, each object including the avatar object 610 operates based on the game progress information regardless of whether or not the user operates the user terminal 100.
  • UI images 701 and 702 are displayed superimposed on the field of view image.
  • the UI image 701 is a UI image that accepts an operation for displaying the UI image 711 for displaying the item input operation for supporting the avatar object 610 from the user 3 on the touch screen 15.
  • the UI image 702 accepts an operation for displaying a UI image (described later) on the touch screen 15 for receiving an operation for inputting and transmitting a comment for the avatar object 610 (in other words, the player 4) from the user 3. It is a UI image.
  • the operation accepted by the UI images 701 and 702 may be, for example, an operation of tapping the UI images 701 and 702.
  • the UI image 711 is displayed superimposed on the field of view image.
  • the UI image 711 is, for example, a UI image 711A on which a magazine icon is drawn, a UI image 711B on which an first aid box icon is drawn, a UI image 711C on which a triangular cone icon is drawn, and a UI on which a barricade icon is drawn.
  • the item insertion operation corresponds to, for example, an operation of tapping any UI image.
  • the UI image 711A when the UI image 711A is tapped, the number of remaining bullets of the gun used by the avatar object 610 increases.
  • the UI image 711B is tapped, the physical strength of the avatar object 610 is restored.
  • the UI images 711C and 711D are tapped, obstacle objects 672 and 673 that obstruct the movement of the enemy object 671 are placed in the virtual space.
  • One of the obstacle objects 672 and 673 may obstruct the movement of the enemy object 671 more than the other.
  • the processor 10 transmits the item input information indicating that the item input operation has been performed to the server 200.
  • the item input information includes at least information for specifying the type of the item specified by the item input operation.
  • the item input information may include other information about the item, such as information indicating where the item is placed.
  • the item input information is transmitted to the other user terminal 100 and the HMD set 1000 via the server 200.
  • FIG. 12 is a diagram showing another example of the field of view image displayed on the user terminal 100. Specifically, it is a figure which shows an example of the game screen of this game, and is the figure for demonstrating the communication between a player and a user terminal 100 during game play.
  • the user terminal 100 causes the avatar object 610 to execute the utterance 691.
  • the user terminal 100 causes the avatar object 610 to execute the utterance 691 according to the voice data included in the game progress information.
  • the content of the utterance 691 is "There is no bullet! Spoken by the player 4. That is, the content of the utterance 691 is to inform each user that the magazine is 0 and the bullet loaded in the gun is 1, so that the means for attacking the enemy object 671 is likely to be lost.
  • a balloon is used to visually indicate the utterance of the avatar object 610, but in reality, the voice is output from the speaker of the user terminal 100.
  • the balloon shown in FIG. 12A (that is, the balloon including the text of the audio content) may be displayed in the visual field image. This also applies to the utterance 692 described later.
  • the user terminal 100 Upon receiving the tap operation on the UI image 702, the user terminal 100 superimposes and displays the UI images 705 and 706 (message UI) on the field of view image as shown in FIG. 12 (B).
  • the UI image 705 is a UI image that displays a comment on the avatar object 610 (in other words, the player).
  • the UI image 706 is a UI image that accepts a comment transmission operation from the user 3 in order to transmit the input comment.
  • the user terminal 100 when the user terminal 100 receives a tap operation on the UI image 705, the user terminal 100 displays a UI image (not shown, hereinafter simply referred to as "keyboard") imitating a keyboard on the touch screen 15.
  • the user terminal 100 causes the UI image 705 to display text corresponding to the user's input operation on the keyboard.
  • the text "Send magazine” is displayed on the UI image 705.
  • the user terminal 100 When the user terminal 100 receives a tap operation on the UI image 706 as an example after inputting the text, the user terminal 100 transmits the comment information including the input content (text content) and the information indicating the user to the server 200. To do.
  • the comment information is transmitted to the other user terminal 100 and the HMD set 1000 via the server 200.
  • the UI image 703A is a UI image showing the user name of the user who sent the comment
  • the UI image 704A is a UI image showing the content of the comment sent by the user.
  • the user whose user name is "BBBBBB” uses his / her own user terminal 100 to transmit comment information having the content "dangerous!, That is, the UI image 703A and the UI image 704A.
  • the UI image 703A and the UI image 704A are displayed on the touch screen 15 of all the user terminals 100 participating in this game and the monitor 51 of the HMD500.
  • the UI images 703A and 704A may be one UI image. That is, one UI image may include the user name and the content of the comment.
  • the UI image 703B includes the user name "AAAAAA”, and the UI image 704B contains the comment "Magazine send! Entered in the example of FIG. 12B.
  • the user "AAAAA” further inputs a tap operation to the UI image 701, displays the UI image 711 on the touch screen 15, and inputs a tap operation to the UI image 711A. It is a later view image 611. That is, as a result of the item input information indicating the magazine being transmitted from the user terminal 100 of the user "AAAAA" to the other user terminal 100 and the HMD set 1000, the user terminal 100 and the HMD set 1000 have the effect object 674 (described later). Is arranged in the virtual space 600. As an example, the user terminal 100 and the HMD set 1000 execute the effect related to the effect object 674 after the elapsed time indicated in the item input information has elapsed, and execute the process of invoking the effect of the item object.
  • the number of magazines is increased from 0 to 1 by executing the process of invoking the effect of the item object.
  • the player utters "Thank you!” To the user "AAAAA”, and the voice data of the utterance is transmitted to each user terminal 100.
  • each user terminal 100 outputs the voice "Thank you!” As the utterance 692 of the avatar object 610.
  • communication between the user and the avatar object 610 is realized by outputting the utterance voice of the avatar object 610 based on the utterance of the player and inputting a comment by each user.
  • FIG. 13 is a flowchart showing an example of the flow of the game progress process executed by the game play terminal 300.
  • step S31 the processor 30 advances the game as the game progress unit 315 based on the game program 331 and the movement of the player.
  • step S32 the processor 30 generates game progress information and distributes it to the user terminal 100. Specifically, the processor 30 transmits the generated game progress information to each user terminal 100 via the server 200.
  • the processor 30 When the processor 30 receives the item input information in step S33 (YES in S33), the processor 30 arranges the item object in the virtual space 600A based on the item input information in step S34. As an example, the processor 30 arranges the effect object 674 in the virtual space 600A before arranging the item object (see FIG. 11C).
  • the effect object 674 may be, for example, an object imitating a present box.
  • the processor 30 may execute the effect related to the effect object 674 after the elapsed time indicated in the item input information has elapsed.
  • the effect may be, for example, an animation in which the lid of the present box is opened. After executing the animation, the processor 30 executes a process of invoking the effect of the item object. For example, in the example of FIG. 11D, the obstacle object 673 is arranged.
  • the processor 30 may arrange the item object corresponding to the tapped UI image in the virtual space 600A. For example, when a tap operation is performed on the UI image 711A, the processor 30 arranges a magazine object indicating a magazine in the virtual space 600A after executing the animation. Further, when the tap operation is performed on the UI image 711B, the processor 30 arranges the first aid kit object indicating the first aid kit in the virtual space 600A after executing the animation.
  • the processor 30 may execute a process of invoking the effect of the magazine object or the first aid kit object when the avatar object 610 moves to the position of the magazine object or the first aid kit object, for example.
  • the processor 30 continues and repeats the processes of steps S31 to S34 until the game is finished.
  • the game ends for example, when the player inputs a predetermined input operation for ending the game (YES in step S35), the process shown in FIG. 13 ends.
  • FIG. 14 is a flowchart showing an example of the flow of the game progress process executed by the user terminal 100.
  • step S41 the processor 10 receives the game progress information.
  • step S42 the processor 10 advances the game as the game progress unit 115 based on the game progress information.
  • step S43 when the processor 10 accepts the item input operation by the user 3 (YES in step S43), in step S44, the processor 10 consumes the virtual currency and arranges the effect object 674 in the virtual space 600B.
  • the virtual currency is purchased (charged for the game) by the user 3 performing a predetermined operation on the processor 10 before or during the participation in the game. It may be present, or it may be given to the user 3 when a predetermined condition is satisfied.
  • the predetermined conditions may be those that require participation in this game, such as clearing a quest in this game, or those that do not require participation in this game, such as answering a questionnaire.
  • the amount of virtual currency (owned amount of virtual currency) is stored in the user terminal 100 as game information 132 as an example.
  • step S45 the processor 10 transmits the item input information to the server 200.
  • the item input information is transmitted to the game play terminal 300 via the server 200.
  • the processor 10 arranges the item object in the virtual space 600A when a predetermined time elapses after the arrangement of the effect object 674.
  • the obstacle object 673 is arranged. That is, when the user 3 inputs a tap operation to the UI image 711C, a predetermined amount of virtual currency is consumed and the obstacle object 673 is arranged.
  • the processor 10 continues and repeats the processes of steps S41 to S45 until the game is finished.
  • the game is finished, for example, when the player performs a predetermined input operation for ending the game, or when the user 3 performs a predetermined input operation for leaving the game halfway (YES in step S46). ), The process shown in FIG. 14 is completed.
  • FIG. 15 is a flowchart showing an example of the flow of game progress processing executed on the server 200.
  • step S51 the processor 20 receives the game progress information from the game play terminal 300.
  • step S52 the processor 20 updates the game progress log (hereinafter, play log) as the log generation unit 212.
  • the play log is generated by the processor 20 when the initial arrangement information is received from the game play terminal 300.
  • step S53 the processor 20 transmits the received game progress information to each user terminal 100.
  • step S54 When the item input information is received from any user terminal 100 in step S54 (YES in step S54), the processor 20 updates the play log as the log generation unit 212 in step S55. In step S56, the processor 20 transmits the received item input information to the game play terminal 300.
  • the processor 20 continues and repeats the processes of steps S51 to S56 until the game is finished.
  • the processor 20 acts as a list generator 213 from the play log. Generate a list of users who participated in the game (user list 234).
  • the processor 20 stores the generated user list 234 in the server 200.
  • FIG. 16 is a diagram showing a specific example of the user list 234.
  • information for example, a user name
  • Information (tags) generated based on the support provided by each user to the player is stored in the "tag” column.
  • tags generated based on the support provided by each user to the player is stored in the "tag" column.
  • those without the key brackets are the information automatically generated by the processor 20, and those with the key brackets are those stored by the game operator. This is manually entered information.
  • the user "AAAAA” is associated with information such as a magazine, 10F, a boss, and "winning the boss by presenting the magazine”. This indicates that, for example, in the boss battle on the stage of 10F, the user "AAAAA” inserts a magazine, and the avatar object 610 wins the boss with the bullet of the inserted magazine.
  • the user "BBBBBB” is associated with information such as a first aid kit, 3rd floor, Zako, and "recovery on the verge of game over”. For example, in a battle with a Zako enemy on the 3rd floor, the user “BBBB” “BBBBBB” throws in the first aid kit, and as a result, it shows that the physical strength of the avatar object 610 has recovered just before it becomes 0 (the game is over).
  • the user "CCCCC” is associated with information such as barricade, 5th floor, Zako, and "stopping two zombies at the barricade”. This means that, for example, in a battle with a Zako enemy on the 5th floor, the user "CCCCC” throws in a barricade (obstacle object 672 in FIG. 11), and as a result, succeeds in stopping the two Zako enemies. Shown.
  • one support provided is associated with the user name of each user 3, but the user name of the user 3 who has performed the support a plurality of times has a tag for each of the multiple support times. Can be associated.
  • each tag is distinguished. As a result, after the game is completed, the player who refers to the user list 421 using the distribution terminal 400 can accurately grasp the content of each support.
  • FIG. 17 is a flowchart showing an example of the flow of the distribution process executed by the distribution terminal 400.
  • FIG. 18 is a diagram showing a specific example of a screen displayed on the distribution terminal 400.
  • FIG. 19 is a diagram showing another specific example of the screen displayed on the distribution terminal.
  • step S61 the processor 40 receives the first operation for displaying the list of users who participated in the game (user list 234) as the operation reception unit 413.
  • the download screen 721 shown in FIG. 18A is a screen for downloading the user list 234 from the server 200 and displaying it on the display unit 452.
  • the download screen 721 is a screen displayed immediately after inputting the start operation of the application for executing the distribution process shown in FIG. 17 into the distribution terminal 400.
  • the download screen 721 includes UI images 722 and 723 as an example.
  • the UI image 722 accepts an operation for downloading the user list 234, that is, the first operation.
  • the first operation may be, for example, an operation of tapping the UI image 722.
  • the UI image 723 accepts an operation for terminating the application.
  • the operation may be, for example, an operation of tapping the UI image 723.
  • the processor 40 Upon receiving the tap operation on the UI image 722, in step S62, the processor 40 acquires (receives) the user list 234 from the server 200 as the communication control unit 411. In step S63, the processor 40 causes the display unit 452 to display the user list 234 as the display control unit 412. Specifically, the processor 40 causes the display unit 452 to display the user list screen generated based on the user list 234.
  • the user list screen may be the user list screen 731 shown in FIG. 18B.
  • the user list screen 731 is composed of a record image corresponding to each record in the user list 234.
  • record images 732A to 732C are shown as record images, but the number of record images is not limited to three. In the example of FIG.
  • the player may perform, for example, scroll the screen (eg,).
  • Scroll the screen eg, By inputting a drag operation or a flick operation) to the touch screen 45, another record image can be displayed on the display unit 452.
  • the record images 732A to 732C include user names 733A to 733C, tag information 734A to 734C, and icons 735A to 735C, respectively.
  • the user names 733A to 733C, the tag information 734A to 734C, and the icons 735A to 735C "record image 732", "user name 733", and "user name 733”, respectively. It is described as “tag information 734" and "icon 735".
  • the user name 733 is information indicating each user who has participated in the game, which is stored in the "user" column in the user list 234.
  • the tag information 734 is information indicating a tag associated with each of the information indicating each user who participated in the game in the user list 234.
  • the record image 732A includes "AAAAAA” as the username 733A. Therefore, the record image 732A includes "magazine, 10F, boss,” win the boss by presenting the magazine “” as tag information 734A, which is associated with "AAAAAA” in the user list 234.
  • the icon 735 is, for example, an image preset by the user.
  • the processor 40 may store the received user list in the distribution terminal 400 (user list 421 in FIG. 7).
  • the download screen 721 may include a UI image (not shown) for displaying the user list 421 on the display unit 452.
  • the processor 40 does not download the user list 234, reads the user list 421, generates a user list screen from the user list 421, and displays it on the display unit 452. Let me.
  • step S64 the processor 40 receives a second operation for selecting any of the users included in the user list screen 731 as the operation reception unit 413.
  • the second operation may be an operation of tapping any of the record images 732 on the user list screen 731.
  • the player inputs a tap operation to the record image 732A. That is, the player has selected the user "AAAAAA" as the user who distributes the operation instruction data.
  • the processor 40 Upon receiving the tap operation for the record image 732, in step S65, the processor 40 causes the display unit 452 to display the motion list 422 as the display control unit 412. Specifically, the processor 40 causes the display unit 452 to display the motion list screen generated based on the motion list 422.
  • the motion list screen may be the motion list screen 741 shown in FIG.
  • the motion list screen 741 is composed of a record image corresponding to each record in the motion list 422.
  • record images 742A to 742C are described as record images, but the number of record images is not limited to three. In the example of FIG.
  • the player inputs another record, for example, an operation of scrolling the screen (for example, a drag operation or a flick operation) to the touch screen 45.
  • the image can be displayed on the display unit 452.
  • the record images 742A to 742C include motion names 743A to 743C, motion images 744A to 744C, and UI images 745A to 745C, respectively.
  • the motion names 743A to 743C, the motion images 744A to 744C, and the UI images 745A to 745C "record image 7432" and "motion name 743", respectively. It is described as “motion image 744" and "UI image 745".
  • the motion name 743 is information for identifying the motion stored in the motion list 422.
  • the motion image 744 is an image generated from the motion data associated with each motion name in the motion list 422.
  • the processor 40 includes an image of the avatar object 610 that takes the first posture in each motion data in the record image 742 as the motion image 744.
  • the motion image 744 may be a UI image that accepts a predetermined operation (for example, a tap operation on the motion image 744) by the player. When the processor 40 accepts the predetermined operation, the processor 40 may reproduce the motion moving image in which the avatar object 610 operates based on the motion data.
  • the processor 40 may automatically redisplay the motion list screen 741 when the motion moving image is finished.
  • the record image 742 may include, for example, a UI image including the text "motion reproduction" instead of the motion image 744.
  • step S66 the processor 40 receives the third operation of selecting the motion as the operation receiving unit 413.
  • the third operation may be a tap operation on the UI image 745. That is, the UI image 745 accepts an operation of selecting motion data corresponding to each record image 742.
  • the processor 40 specifies the motion data selected by the player as the motion specifying unit 415.
  • step S67 the processor 40 receives the voice input of the player as the display control unit 412 and the voice reception unit 414 while the avatar object 610 reproduces the motion moving image that operates based on the selected motion data.
  • FIG. 20 is a diagram showing a specific example of voice input by the player 4.
  • the player 4 is inputting the utterance voice 820A while playing the motion moving image 810A.
  • the utterance voice 820A is a utterance voice addressed to the user 3 (hereinafter, user 3A) whose user name is "AAAAAA”. That is, in the example of FIG. 20, the player 4 selects the user 3A (first user) in step S64 and creates the operation instruction data addressed to the user 3A. It is assumed that the user terminal 100 used by the user 3A is the user terminal 100A.
  • the utterance voice 820A is a utterance voice addressed to the user 3A
  • the utterance voice is based on the content of the support provided by the user 3A to the avatar object 610 (in other words, the player 4).
  • the user 3A inserts a magazine in the boss battle on the stage of 10F, and the avatar object 610 wins the boss with the bullet of the inserted magazine.
  • the spoken voice 820A says, "Thank you for giving me the magazine in the boss battle! The timing was perfect! Thanks to AAAAA-san, I was able to clear it!
  • the uttered voice includes the content of the support provided by the user 3 in the game and the gratitude to the user 3.
  • the player 4 creates the utterance content addressed to the user 3 before starting the voice input, that is, before inputting the third operation to the distribution terminal 400.
  • the utterance content addressed to the user 3 may be automatically generated by the processor 40. Further, the processor 40 may superimpose and display the tag associated with the user 3 selected by the second operation on the motion moving image 810A.
  • the processor 40 converts the received voice into voice data.
  • the processor 40 generates the operation instruction data including the voice data and the motion data of the selected motion as the operation instruction data generation unit 416.
  • step S69 the processor 40, as the communication control unit 411, distributes the generated operation instruction data to the user terminal 100 (first computer) of the selected user 3 (user 3A in the example of FIG. 20).
  • FIG. 21 is a diagram showing still another specific example of the screen displayed on the distribution terminal 400.
  • the processor 40 causes the display unit 452 to display the distribution screen as the display control unit 412.
  • the distribution screen may be the distribution screen 751 shown in FIG. 21 (A).
  • the distribution screen 751 includes a UI image 752 and a motion image 753A. Further, as shown in FIG. 21A, the distribution screen 751 may include information indicating a user to whom the operation instruction data is distributed.
  • the UI image 752 accepts an operation for delivering the operation instruction data to the selected user 3.
  • the operation may be, for example, a tap operation on the UI image 752.
  • the motion image 753A is a UI image that accepts an operation for playing a moving image based on the generated motion instruction data, that is, a moving image based on the motion instruction data generated for the user 3A.
  • the operation may be, for example, a tap operation on the motion image 753A.
  • the UI image that accepts the operation for playing the generated moving image is not limited to the motion image 753A. For example, it may be a UI image including the text "video playback".
  • the processor 40 may automatically redisplay the distribution screen 751 when the moving image is finished.
  • the distribution screen 751 preferably further includes a UI image that accepts an operation for returning to the acceptance of voice input.
  • the operation may be, for example, a tap operation on the UI image.
  • the player 4 can perform voice input again when the voice input fails, for example, when the content to be spoken is mistaken.
  • the UI image may be a UI image that accepts an operation for returning to the selection of motion data.
  • the processor 40 Upon receiving the tap operation for the UI image 752, the processor 40 transmits the operation instruction data to the server 200 together with the information indicating the user 3A.
  • the server 200 identifies the user terminal 100 to which the operation instruction data is transmitted based on the information indicating the user 3A, and transmits the operation instruction data to the specified user terminal 100 (that is, the user terminal 100A).
  • the processor 40 may display the distribution completion screen 761 shown in FIG. 21 (B) on the display unit 452 as an example.
  • the delivery completion screen 761 includes UI images 762 and 763 as an example. Further, the distribution completion screen 761 may include a text indicating that the transmission of the operation instruction data has been completed, as shown in FIG. 21 (B).
  • the UI image 762 accepts an operation for starting the creation of operation instruction data addressed to another user 3.
  • the operation may be, for example, an operation of tapping the UI image 762.
  • the processor 40 receives the tap operation, the processor 40 causes the display unit 452 to display the user list screen again. That is, when the tap operation is accepted, the distribution process returns to step S63. At this time, the processor 40 may generate a user list screen based on the user list 421 stored in the distribution terminal 400 and display it on the display unit 452.
  • the UI image 763 accepts an operation for terminating the application.
  • the operation may be, for example, an operation of tapping the UI image 763.
  • the distribution process ends.
  • the distribution terminal 400 transmits the operation instruction data of the moving image addressed to the user 3A (the user 3 whose user name is "AAAAAA"). , Sent only to the user terminal 100A.
  • FIG. 22 is a diagram showing another specific example of voice input by the player 4.
  • the player 4 is inputting the utterance voice 820B while playing the motion moving image 810B.
  • the utterance voice 820B is a utterance voice addressed to the user 3 (hereinafter, user 3B) whose user name is "BBBBBB". That is, in the example of FIG. 22, in step S64, the player 4 inputs a tap operation to the record image 732B corresponding to the user 3B, and creates the operation instruction data addressed to the user 3B.
  • the user terminal 10 used by the user 3B 0 is assumed to be the user terminal 100B.
  • the utterance voice 820B is a utterance voice addressed to the user 3B, the utterance voice is based on the content of the support provided by the user 3B to the avatar object 610 (in other words, the player 4). Specifically, in the battle with the Zako enemy on the 3rd floor, the user "BBBBBB” throws in the first aid kit, and as a result, the physical strength of the avatar object 610 is on the verge of becoming 0 (game over). I am recovering my physical strength. For this reason, the utterance voice 820B has the content "Thanks to the first aid kit given by Mr. BBBBB, the game did not end on the 3rd floor. Thank you very much!
  • FIG. 23 is a diagram showing still another specific example of the screen displayed on the distribution terminal 400.
  • the distribution screen 751 shown in FIG. 23A includes a UI image 752 and a motion image 753B.
  • the motion image 753B accepts the tap operation, the motion image 753B reproduces a moving image based on the operation instruction data generated for the user 3B.
  • the processor 40 Upon receiving the tap operation on the UI image 752, the processor 40 transmits the operation instruction data to the server 200 together with the information indicating the user 3B.
  • the server 200 identifies the user terminal 100 to which the operation instruction data is transmitted based on the information indicating the user 3B, and transmits the operation instruction data to the specified user terminal 100 (that is, the user terminal 100B).
  • the distribution terminal 400 transmits the operation instruction data of the moving image addressed to the user 3B (the user 3 whose user name is "BBBBBB"). , Transmit only to the user terminal 100B.
  • the content of the voice based on the voice data included in the operation instruction data is based on the content of the support provided to the player 4 by the user 3 in participating in the latest game. Since the content of the support is different for each user 3, the content of the voice is different for each user 3. That is, after the end of the game, operation instruction data including voices having different contents is transmitted to at least a part of the user terminals 100 of the user 3 who participated in the game.
  • the motion of the avatar object 610 in the example of FIG. 22 is different from the motion of the example of FIG. That is, the player 4 selects motion data different from that at the time of generating the operation instruction data addressed to the user 3A in the operation instruction data generation addressed to the user 3B. Specifically, in step S66, the player 4 inputs a tap operation to the UI image 745B that selects the motion data corresponding to the record image 742B. In this way, the player 4 can make the motion data included in the operation instruction data different for each user 3.
  • unique operation instruction data for each user terminal 100 is transmitted to each of the user terminals 100 of the selected user 3.
  • FIG. 24 is a diagram showing an outline of transmission of game progress information from the game play terminal 300 to the user terminal 100. While the operation instruction data for video reproduction on the user terminal 100 is unique for each user terminal 100, as shown in FIG. 24, the user terminals 100 of all users 3 participating in the game during game execution.
  • the game progress information transmitted to is common among the user terminals 100. That is, the operation instruction data included in the game progress information is also common among the user terminals 100. As described above, it can be said that the operation instruction data for playing the moving image and the operation instruction data for advancing the game are different data from the viewpoint of the same difference between the user terminals 100 and the destination.
  • FIG. 25 is a flowchart showing an example of the flow of the moving image reproduction process executed by the user terminal 100.
  • step S71 the processor 10 receives the operation instruction data as the moving image reproduction unit 117.
  • step S72 the processor 10 notifies the user 3 of the reception of the operation instruction data as the moving image reproduction unit 117.
  • the processor 10 displays a notification image on the display unit 152, reproduces a notification voice from a speaker (not shown), lights a lighting unit (not shown) composed of an LED (light-emitting diode), or the like.
  • the user 3 is notified of the reception of the operation instruction data by at least one of the blinking.
  • step S73 the processor 10 receives the first reproduction operation for reproducing the moving image as the operation reception unit 111.
  • the first reproduction operation may be an operation of tapping the notification image.
  • step S74 the processor 10 renders the operation instruction data as the moving image reproduction unit 117 and reproduces the moving image.
  • the processor 10 may start an application for playing this game and play a video, or may start an application for playing a video different from the application and play a video. Good.
  • the video will be referred to as a "thank you video".
  • FIG. 26 is a diagram showing a specific example of playing a thank-you video. Specifically, it is a figure which shows an example of the reproduction of the thank-you moving image in the user terminal 100 of the user 3A.
  • the avatar object 610 is uttering the voice 920A while executing a certain motion.
  • the processor 10 outputs the audio 920A from the speaker (not shown) while playing the thank-you video 910A including the avatar object 610 that executes a certain motion.
  • the motion in the thank-you video 910A is based on the motion data selected by the player 4 in the generation of the motion instruction data addressed to the user 3A, and the voice 920A is the utterance voice input by the player 4 in the generation of the motion instruction data. It is based on the voice data generated from the 820A. That is, the voice 920A is a voice including the content of the support provided by the user 3A in the game and the gratitude for the support. In this way, the user 3A can watch the thank-you video in which the avatar object 610 utters the content of the support provided in the game and the gratitude for the support by inputting the first playback operation.
  • the user terminal 100 may display at least one UI image on the touch screen 15 after the reproduction of the thank-you moving image 910A is completed.
  • the UI image may be, for example, a UI image that accepts an operation for playing the thank-you video 910A again, a UI image that accepts an operation for transitioning to another screen, or an application. It may be a UI image that accepts an operation for terminating.
  • the user terminal 100 may display at least one UI image on the touch screen 15 during playback of the thank-you moving image 910A.
  • the UI image may be, for example, a plurality of UI images that accept operations such as temporarily stopping the thank-you video 910A being played, ending it, or changing the scene to be played.
  • these UI images displayed during the playback of the thank-you video 910A and after the playback of the thank-you video 910A is hunted do not include a UI image for making a response to the avatar object 610. That is, the thank-you video 910A according to the present embodiment does not provide a means for responding to the avatar object 610.
  • FIG. 27 is a diagram showing another specific example of playing the thank-you video. Specifically, it is a figure which shows the example of the reproduction of the thank-you moving image in the user terminal 100 of the user 3B.
  • the avatar object 610 is uttering the voice 920B while executing a certain motion.
  • the processor 10 outputs the audio 920B from the speaker (not shown) while playing the thank-you video 910B including the avatar object 610 that executes a certain motion.
  • the motion in the thank-you video 910B is based on the motion data selected by the player 4 in the generation of the motion instruction data addressed to the user 3B, and the voice 920B is the utterance voice input by the player 4 in the generation of the motion instruction data. It is based on the voice data generated from the 820B. Therefore, in the example of FIG. 27, the motion performed by the avatar object 610 is different from the motion of the example of FIG. 26. Further, the voice 920B is a voice including the content of the support provided by the user 3B in the game and the gratitude for the support. Therefore, in the example of FIG. 27, the content of the voice 920B is different from the content of the voice 920A in the example of FIG. 26.
  • the thank-you video received by at least a part of the user terminals 100 of the users 3 who participated in the game after the end of the game is a video in which the utterance content of the avatar object 610 is different for each user 3.
  • the processor 10 may superimpose and display the UI image 930 including the content prompting participation in the next game on the moving image 910.
  • the UI image 930 may be distributed together with the operation instruction data, or may be stored in the user terminal 100 as the game information 132.
  • the games that can be provided by the system 1 according to the present embodiment include, for example, a live distribution part (first part) performed during the live distribution period assigned before and after the live battle period, and a live game. Includes the live battle part (second part) performed during the battle period.
  • the live distribution part is a part capable of performing an interaction such as a dialogue between the user and the avatar object 610.
  • the avatar object 610 operated by the performer 4 in the live distribution part is also referred to as the first avatar object 610A in the following.
  • the live battle part is a part in which a predetermined battle can be performed by a plurality of objects including an object operated by the user and an avatar object 610 operated by the performer.
  • the avatar object 610 operated by the performer 4 in the live battle part is also referred to as a second avatar object 610B in the following.
  • the first avatar object 610A operated in the live distribution part is arranged and operates in the live distribution space which is a virtual space for the live distribution part.
  • a plurality of objects including the second avatar object 610B operated in the live battle part are arranged and operated in the live battle space which is a virtual space for the live battle part.
  • the live distribution space and the live battle space are defined by switching the common virtual space according to the part.
  • the performer 4 attaches the HMD 500 to the head and attaches the motion sensor 520 to both hands, both feet, the waist and the like (see FIG. 28 (A)).
  • the movement of the whole body of the performer 4 is detected by the sensor included in the HMD 500 and the motion sensor 520.
  • the first avatar object 610A operates based on the signal detected by the sensor included in the HMD 500 and the motion sensor 520, that is, the motion data.
  • an image representing the live distribution space in which the first avatar object 610A is arranged is displayed (see FIGS. 29 (A) to 29 (C)).
  • the user can send a comment to the first avatar object 610A and put an item corresponding to the thrown money into the live distribution space, and the performer 4 can send the comment or the comment. Interact with the user by responding to the item by speaking or gesturing.
  • the comment input by the user is distributed to each of the plurality of user terminals 100 and displayed on the touch screen 15 of the user terminal 100.
  • the performer 4 When shifting to the live battle part, the performer 4 removes the HMD 500 and the motion sensor 520, and picks up the distribution terminal 400.
  • the performer 4 operates the second avatar object 610B in the live battle space by operating the virtual pads VP1 and VP2 (see FIG. 28B) displayed on the touch screen 45 of the distribution terminal 400.
  • the image showing the live battle space is displayed on each of the touch screen 15 of the user terminal 100 and the touch screen 45 of the distribution terminal 400 (see FIGS. 29 (E) and 29 (G)).
  • the first avatar object 610A and the second avatar object 610B are objects having the same appearance (same face, hairstyle, clothes), and are generated by reproducing common model data stored in advance in the memory 11. Will be done. As a result, the user can enjoy a plurality of types of parts in which objects having the same appearance appear, and the operation mode of the performer 4 for operating the object differs depending on the part.
  • the performer 4 attaches the HMD 500 to the head, attaches the motion sensor 520 to both hands, both feet, the waist, the head, and the like, and operates the first avatar object 610A in the live distribution space.
  • An image representing the live distribution space is displayed on the touch screen 15 of the user terminal 100.
  • the HMD 500 and the motion sensor 520 are installed. Is deviated from the original position, so that the behavior of the first avatar object 610A becomes defective. Specifically, the appearance of the first avatar object 610A becomes distorted, for example, the neck of the first avatar object 610A stretches according to the attachment / detachment of the HMD500 or the like. Therefore, in the present embodiment, the switching screen shown in FIG. 29 (D) or FIG.
  • the live distribution part When the performer 4 performs the live distribution start operation by the controller 540, the live distribution part is started.
  • the game play terminal 300 defines a virtual space 600A as a live distribution space, and includes a first avatar object 610A that imitates a girl wearing a dress and a decorative object (background object) that imitates a wreath. Place the virtual object in the live distribution space.
  • the game play terminal 300 detects the movement of the performer 4's body based on the outputs from each of the HMD 500 and the motion sensor 520 (that is, captures the motion of the performer 4), and is based on the motion data and the like generated thereby.
  • the virtual object including the first avatar object 610A is arranged and operated in the live distribution space. Further, the game play terminal 300 generates motion instruction data for making it possible to specify the arrangement, motion, speech, etc. of the first avatar object 610A and the virtual object including the decoration object based on the motion data, the voice data, and the like. Then, the game progress information including the operation instruction data is distributed to the plurality of user terminals 100.
  • Each of the plurality of user terminals 100 defines the virtual space 600B as a live distribution space in the live distribution part, and a predetermined position of the live distribution space (for example, a position where the first avatar object 610A can be grasped from the front).
  • a virtual camera 620B is placed in the space.
  • the user terminal 100 puts a virtual object including the first avatar object 610A and a decorative object into the live distribution space based on the model data stored in advance in the memory 11 and the game progress information distributed from the game play terminal 300. Place or run a virtual object that has already been placed.
  • the user terminal 100 defines a field of view area 640B according to the current position and orientation of the virtual camera 620B, and displays the field of view image 660 corresponding to the field of view area 640B on the touch screen 15 as a live distribution image (FIG. 29). (A) to FIG. 29 (C)).
  • an entry period is provided for accepting participation in the live competition part.
  • the user terminal 100 displays the character string of "emergency convocation! Field battle" in the upper part of the live distribution video.
  • the "Enter! Button B1 is superimposed and displayed on the lower part of the live distribution video (see FIG. 29 (A)).
  • the user terminal 100 hides the "entry! Button B1 and instead displays the character string "entry! In the live distribution video. It is superimposed and displayed on the lower row (see FIG. 29 (B)).
  • the user terminal 100 updates the character string of "entry! To the character string of "matching time up” (see FIG. 29 (C)).
  • the game play terminal 300 distributes the switching data to the live battle part to the plurality of user terminals 100. Based on the switching data, the user terminal 100 updates the live distribution video shown in FIG. 29 (C) to the switching screen to the live battle part shown in FIG. 29 (D).
  • the switching screen has a character string of "'Field Battle', go to the field", a character string of "Field Butler is being transferred", an arrow drawing a circle, and "Waiting for completion". Please consist of the string "Please”. As a result, the user's visibility of the first avatar object 610A is restricted.
  • the performer 4 removes the HMD 500 and the motion sensor 520, and the user and the performer 4 cannot see the position in the live battle space (for example, the back of the virtual object arranged in the live battle space).
  • the HMD500 and the motion sensor 520 are hidden in a position corresponding to the above.
  • the first avatar object 610A may be hidden by setting the operation instruction data to be distributed to the user terminal 100 and the distribution terminal 400.
  • the live battle part is started.
  • the user terminal 100 of the user who has entered the live battle defines the virtual space 600B as the live battle space, the soldier object 720 operated by the user, the second avatar object 610B operated by the performer 4, and the enemy object which is an NPC.
  • Virtual objects such as 730 and a building object (background object) 740 are arranged in the live battle space based on the model data stored in advance in the memory 11.
  • the enemy object 730 and the building object 740 are arranged at positions designated in advance by the game program of the user terminal 100.
  • the soldier object 720 and the second avatar object 610B are arranged based on the arrangement information distributed from the server 200 or the like in response to the live battle start operation at the start of the live battle part, for example.
  • the user terminal 100 of the own user arranges the virtual camera 620B of the own user in the live battle space defined by the user terminal 100.
  • the virtual camera 620B is arranged so as to capture the live battle space from behind the soldier object 720 of the own user.
  • the user terminal 100 of the own user displays the field of view image 660 corresponding to the field of view area 640B of the virtual camera 620B on the touch screen 15 as a live battle image, and displays the virtual pads VP1 and VP2 (predetermined operation input unit) in the live battle. It is superimposed on the image and displayed (see FIG. 29 (E)).
  • an image overlooking the live battle space may be displayed on the user terminal 100 of the user.
  • at least one of the second avatar object 610B operated by the performer 4 and the soldier object 720 operated by the user can be loaded with items that are advantageous or disadvantageous to the object. You may do so.
  • the distribution terminal 400 also defines the virtual space 600B as the live battle space in order to start the live battle part, and the soldier object 720, the second avatar object 610B, the enemy object 730, and the building object 740. Etc. are arranged in the live battle space based on the model data stored in advance in the memory 41.
  • the enemy object 730 and the building object 740 are arranged at positions designated in advance by the game program of the distribution terminal 400.
  • the soldier object 720 and the second avatar object 610B are arranged based on the arrangement information distributed from the server 200 or the like in response to the live battle start operation at the start of the live battle part, for example.
  • the distribution terminal 400 arranges the virtual camera 620B of the performer 4 in the live battle space defined in the distribution terminal 400. At this time, the virtual camera 620B is arranged so as to capture the live battle space from behind the second avatar object 610B.
  • the distribution terminal 400 displays the field of view image 660 corresponding to the field of view area 640B of the virtual camera 620B on the touch screen 45 as a live battle video, and superimposes the virtual pads VP1 and VP2 (operation input unit) on the live battle video. (See FIG. 29 (G)).
  • the second avatar object 610B is an object that imitates a girl wearing a dress, and appears in the live battle space with a apelooka gun on her back.
  • the soldier object 720 is an object that imitates a soldier wearing armor, for example, and appears in the live battle space with a bazooka gun on his back.
  • the enemy object 730 is, for example, an object that imitates a giant spider.
  • Each of the second avatar object 610B and the soldier object 720 attacks the enemy object 730 by firing bullets from a apelooka cannon.
  • the enemy object 730 attacks the second avatar object 610B and the soldier object 720 by releasing a thread from the mouth.
  • the user terminal 100 of the own user When the virtual pad VP1 or VP2 of the user terminal 100 is operated, the user terminal 100 of the own user performs an operation corresponding to the operation in the live battle space defined by the user terminal 100, the soldier object 720 of the own user. Let me do it. Further, the user terminal 100 of the own user transmits the operation information for making the operation identifiable to the user terminal 100 and the distribution terminal 400 of another user via the server 200. Each of the user terminal 100 and the distribution terminal 400 that has received the operation information is operated by the user of the user terminal 100 that has transmitted the operation information among the soldier objects 720 existing in the live battle space defined in the terminal. The soldier object 720 is operated according to the operation information.
  • the distribution terminal 400 When the virtual pad VP1 or VP2 of the distribution terminal 400 is operated, the distribution terminal 400 causes the second avatar object 610B to perform an operation corresponding to the operation in the live battle space defined by the distribution terminal 400. Further, the distribution terminal 400 transmits operation information for making the operation identifiable to a plurality of user terminals 100 via the server 200. The user terminal 100 that has received the operation information operates the second avatar object 610B existing in the live battle space defined in the user terminal 100 according to the operation information.
  • the soldier object 720 moves in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400.
  • the operation for moving the second avatar object 610B is performed on the distribution terminal 400, the second avatar object 610B moves in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400.
  • the soldier object 720 When an operation for jumping the soldier object 720 is performed on any of the user terminals 100, the soldier object 720 jumps in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400. Further, when the operation for jumping the second avatar object 610B is performed on the distribution terminal 400, the second avatar object 610B jumps in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400. To do.
  • the apelooka cannon When an operation for firing a bullet from the apelooka cannon carried by the soldier object 720 is performed on any of the user terminals 100, the apelooka cannon is used in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400. A bullet is fired from. Further, when the operation for firing a bullet from the apelooka cannon carried by the second avatar object 610B is performed on the distribution terminal 400, the operation is performed in the live battle space defined by each of the plurality of user terminals 100 and the distribution terminal 400. A bullet is fired from the apelooka cannon.
  • the user terminal 100 of the own user raises the score of the soldier object 720 of the own user.
  • the user terminal 100 reduces the HP of the enemy object 730, and transmits the reduced HP to the user terminal 100 and the distribution terminal 400 of another user via the server 200.
  • the distribution terminal 400 raises the score of the second avatar object 610B.
  • the distribution terminal 400 reduces the HP of the enemy object 730 and transmits the reduced HP to the plurality of user terminals 100 via the server 200.
  • the terminal that receives the reduced HP updates the HP of the enemy object 730 existing in the live battle space defined by the terminal with the reduced HP.
  • the HP of the enemy object decreases to 0
  • each of the plurality of user terminals 100 and the distribution terminal 400 eliminates the enemy object 730 from the live battle space defined by the terminal.
  • the user terminal 100 hits the HP of the soldier object 720. To reduce. When the HP of the soldier object 720 of the own user decreases to 0, the user terminal 100 of the own user ends the battle of the soldier object 720 and notifies the user of another user via the server 200 that the battle has ended. It transmits to the terminal 100 and the distribution terminal 400. The terminal that receives the notification extinguishes the soldier object 720 whose battle has ended from the live battle space defined by the terminal.
  • the distribution terminal 400 reduces the HP of the second avatar object 610B.
  • the distribution terminal 400 ends the battle of the second avatar object 610B and sends a notification to the plurality of user terminals 100 via the server 200 that the battle has ended. To do.
  • the user terminal 100 that has received the notification eliminates the second avatar object 610B from the live battle space defined by the user terminal 100.
  • the scores and HPs of the soldier object 720 and the second avatar object 610B are parameters for identifying the superiority or inferiority of the battle.
  • the magnitude relationship between the score and HP changes according to the progress of the match.
  • the score and HP are transmitted from each of the plurality of user terminals 100 and the distribution terminal 400 to the game play terminal 300 at the end of the live battle period.
  • the game play terminal 300 aggregates the score and the HP, and ranks each of the plurality of users and the performer 4.
  • the performer 4 performs, for example, a live match end operation.
  • the distribution terminal 400 distributes switching data to the live distribution part to a plurality of user terminals 100 in response to the live battle end operation. Based on the switching data, the user terminal 100 updates the live battle video shown in FIG. 29 (E) to the switching screen to the live distribution part shown in FIG. 29 (F).
  • the switching screen is composed of a character string of "result announcement", a character string of "aggregating”, an arrow drawing a circle, and a character string of "please wait for completion". Will be done.
  • the performer 4 wears the HMD 500 on his head and attaches the motion sensor 520 to both hands, both feet, the waist, the head, and the like by utilizing the time when the switching screen is displayed. As a result, it is possible to avoid the inconvenience that the first avatar object 610A reflecting the operation when the HMD 500 and the motion sensor 520 are attached is displayed on the user terminal 100.
  • the live distribution period is restarted.
  • An image representing the live distribution space is displayed on the touch screen 15 of the user terminal 100.
  • the result of the live battle part, that is, the ranking is announced by the first avatar object 610A appearing in the live distribution space.
  • the user terminal 100 enables the input of the operation instruction data and invalidates the input of the operation information in the live distribution part. Further, the user terminal 100 enables the input of the operation information in the live battle part, while invalidates the input of the operation instruction data. As a result, it is possible to avoid the inconvenience that an erroneous process is executed in the user terminal 100.
  • the virtual pad VP1 is displayed at the lower left position of the touch screen 15.
  • the virtual pad VP2 has an outer diameter smaller than the outer diameter of the virtual pad VP1 and is displayed at a position slightly above the lower right of the touch screen 15. That is, the virtual pads VP1 and VP2 are arranged at positions where their respective center positions (reference positions) are deviated in both the horizontal direction and the vertical direction on the touch screen 15.
  • the arrangement of the virtual pads VP1 and VP2 is fixed regardless of the user's touch operation.
  • the user terminal 100 sets the virtual pads VP1 and VP2 in a predetermined mode (for example, in the vertical and horizontal directions). By moving and displaying by a predetermined amount, the operation is displayed in a mode that gives the user the impression of vibration.
  • the user terminal 100 registers information indicating the touch position with respect to the touch screen 15 in the history information table (not shown). Specifically, when the user terminal 100 detects the touch from the state in which the touch to the touch screen 15 is not detected, the user terminal 100 determines that the touch-on state has been reached, and sets the history information indicating the touch position to the "touch now state". It is registered in the history information table as the history information of. Further, when the touch to the touch screen 15 is no longer detected, it is determined that the "touch-off state" has been reached, and predetermined history information is registered in the history information table. The user terminal 100 specifies a mode of touch operation (tap operation, drag operation, etc.) on the touch screen 15 based on the history information.
  • a mode of touch operation tap operation, drag operation, etc.
  • the virtual pad VP1 is composed of an operation body (operation target image) ST1 and a circular outer frame (range image) FR1 larger than the operation body ST1.
  • the operating body ST1 is displayed at the center position (reference position) of the range RG1 surrounded by the outer frame FR1.
  • the user terminal 100 moves the operation body ST1 in the direction specified by the drag operation. More specifically, the user terminal 100 does not move the operation body ST1 by the drag operation started by the touch operation to the position other than the position of the operation body ST1, but is started by the touch operation to the position of the operation body ST1.
  • the operation body ST1 is moved according to the drag operation.
  • the operating body ST1 is a circular object having a predetermined radius from the center position of the operating body ST1 and having the center position movable within the outer frame FR1. As a result, when the center position is moved to the vicinity of the outer edge of the outer frame FR1 by the drag operation, the operating body ST1 is displayed slightly protruding outside the outer frame FR1.
  • the user terminal 100 When the drag operation started by the touch operation on the operation body ST1 is performed, the user terminal 100 specifies a vector whose start point is the center position of the range RG1 and whose end point is the current touch position. If the current touch position is within the range RG1, the user terminal 100 aligns the center position of the operating body ST1 with the current touch position, and if the current touch position is outside the range RG1, the user terminal 100 has the vector. Align the center position of the operating body ST1 with the intersection of the outer frame FR1 and the operating body ST1.
  • the user terminal 100 moves the soldier object 720 in a direction corresponding to the center position of the range RG1 and the current position of the operating body ST1.
  • the direction of the soldier object 720 is not changed by the drag operation of the operation body ST1. Therefore, when the operation body ST1 is moved by the drag operation while the soldier object 720 is displayed as shown in FIG. 30 (C), the soldier object 720 operates as follows. At this time, the virtual camera 620B moves following the soldier object 720.
  • the soldier object 720 moves forward while facing forward (see FIG. 30 (A)).
  • the soldier object 720 moves backward while facing forward (see FIG. 30E).
  • the soldier object 720 moves to the right while facing forward (see FIG. 30B).
  • the soldier object 720 moves to the left while facing forward (see FIG. 30 (D)).
  • the soldier object 720 moves diagonally forward to the right while facing forward. Further, when the operating body ST1 is moved diagonally downward to the left, the soldier object 720 moves diagonally backward to the left while facing forward.
  • the user terminal 100 transmits to the server 200 information that can identify that the operation target and the operation mode are the virtual pad VP1 and the drag operation, respectively, and the operation information including the above vector and the user ID.
  • the processor 10 of the user terminal 100 performs a display process of returning the operating body ST1 to the center position of the range RG1.
  • the processor 10 of the user terminal 100 may perform a display process for returning the operation body ST1 to the center position at once, and a display process for returning the operation body ST1 to the center position at a predetermined moving speed. You may go.
  • the user terminal 100 When a tap operation is performed by the user for any position in the range RG1, the user terminal 100 causes the soldier object 720 to jump on the spot regardless of whether or not the tap operation is an operation for the operation body ST1. .. However, if the tap operation is performed within a predetermined time (for example, 0.1 seconds) after the drag operation is released, the soldier object is moved in the moving direction of the soldier object 720 by the released drag operation. You may make the 720 jump.
  • the user terminal 100 transmits to the server 200 the operation information including the information that can identify that the operation target and the operation mode are the virtual pad VP1 and the tap operation, respectively, and the user ID.
  • the virtual pad VP2 is composed of an operation body (operation target image) ST2 and a circular outer frame (range image) FR2 larger than the operation body ST2.
  • the operation body ST2 is displayed at the center position (reference position) of the range RG2 surrounded by the outer frame FR2, and when a drag operation is performed on the operation body ST2, the operation body ST2 moves in the direction specified by the drag operation.
  • the user terminal 100 does not move the operation body ST2 by the drag operation started by the touch operation to the position other than the position of the operation body ST2, and the drag operation is started by the touch operation to the position of the operation body ST2.
  • the operating body ST2 is moved accordingly.
  • the operating body ST2 is a circular object whose center position of the operating body ST2 can be moved within the outer frame FR2. Therefore, when the center position of the operating body ST2 moves to the vicinity of the outer edge of the outer frame FR2 by the drag operation, the operating body ST2 is displayed slightly protruding outside the outer frame FR2.
  • the user terminal 100 When the drag operation started by the touch operation on the operation body ST2 is performed, the user terminal 100 specifies a vector whose start point is the center position of the range RG2 and whose end point is the current touch position. If the current touch position is within the range RG2, the user terminal 100 aligns the center position of the operating body ST2 with the current touch position, and if the current touch position is outside the range RG2, the user terminal 100 is the vector. Align the center position of the operating body ST2 with the intersection of the outer frame FR2 and the operating body ST2.
  • the user terminal 100 changes the firing direction of the apelooka cannon and the arrangement of the virtual camera 620B according to the center position of the range RG2 and the current position of the operating body ST2.
  • the user terminal 100 views the firing direction of the apelooka cannon, that is, the direction of the soldier object 720 from above the soldier object 720, with respect to the body axis of the soldier object 720.
  • the position and orientation of the virtual camera 620B are changed so as to catch the soldier object 720 from behind while changing the direction clockwise or counterclockwise.
  • the user terminal 100 changes the firing direction of the apelooka cannon in the vertical direction around the straight line connecting both shoulders of the soldier object 720 and captures the firing direction. Change the position and orientation of the virtual camera 620B.
  • the firing direction of the Bazooka cannon that is, the direction of the soldier object 720 is changed to the counterclockwise direction around the body axis of the soldier object 720, and the virtual camera 620B is the soldier object. It follows the movement of the soldier object 720 so as to capture the 720 from behind (see FIG. 31 (B)).
  • the firing direction of the Bazooka cannon that is, the direction of the soldier object 720 is changed clockwise around the body axis of the soldier object 720
  • the virtual camera 620B is changed to the soldier object 720.
  • the firing direction of the Bazooka cannon that is, the direction of the soldier object 720 is changed clockwise around the body axis of the soldier object 720
  • the virtual camera 620B is changed to the soldier object 720.
  • the firing direction of the apelooka cannon that is, the soldier object 720 faces diagonally upward to the right.
  • the firing direction of the apelooka cannon that is, the soldier object 720 faces diagonally downward to the left.
  • the user terminal 100 transmits to the server 200 information that can identify that the operation target and the operation mode are the virtual pad VP2 and the drag operation, respectively, and the operation information including the vector and the user ID.
  • the user terminal 100 returns the operating body ST2 to the center position of the range RG2.
  • the user terminal 100 When a tap operation is performed by the user for any position in the range RG2, the user terminal 100 fires a bullet from the apelooka cannon regardless of whether the tap operation is an operation for the operation body ST2. Further, the user terminal 100 transmits the operation information including the user ID and the information that can identify that the operation target and the operation mode are the virtual pad VP2 and the tap operation, respectively, to the server 200.
  • the virtual pads VP1 and VP2 are arranged in a layer above the game image (a layer having a high priority), and are displayed superimposed on the game image. Further, regarding the virtual pads VP1 and VP2, one virtual pad is arranged in a layer (higher priority layer) higher than the other virtual pad. As described above, the image displayed on the touch screen 15 is an image in which a plurality of layers having different priorities are superimposed, and the virtual pads VP1 and VP2 are displayed on different layers, respectively.
  • the small terminal When playing the live battle part of the present embodiment using a small terminal whose display area size is smaller than that of the touch screen 15 of the user terminal 100, the virtual pads VP1 and VP2 partially overlap in the display area. It is expected that it will end up. However, even in such a case, the small terminal accepts the operation within the overlapping range as the operation for the virtual pad having a high priority. For example, when the virtual pad VP2 is set in the hierarchy above the virtual pad VP1, when a tap operation is performed on the overlapping range, the small terminal considers it as a tap operation on the virtual pad VP2 and starts from the apelooka cannon. Fire a bullet.
  • the touch screen 15 displays icons IC1 and IC2 that can be tapped while the game is in progress.
  • the icon IC1 is an icon for exerting an action on the virtual space 600B, and by tapping the icon IC1, a virtual object such as an obstacle is thrown into the virtual space 600B.
  • the icon IC2 is an icon for inputting a comment of the own user, and by tapping the icon IC2, the comment of the own user is displayed on each touch screen 15 of the plurality of user terminals 100. Both the icon IC1 and IC2 are arranged in a layer above the virtual pads VP1 and VP2.
  • the small terminal accepts the tap operation as a tap operation on the icon IC1.
  • the operating bodies ST1 and ST2 are returned to the center positions of the ranges RG1 and RG2, respectively, in response to the release of the drag operation on the operating bodies ST1 and ST2, respectively. Therefore, if the tap operation for jumping or firing a bullet is accepted only for the tap operation on the operation body ST1 or ST2, even if the tap operation is performed at the release position of the drag operation, the tap operation is performed at the release position. Since the operating bodies ST1 and ST2 do not exist, they cannot be effectively accepted. As a result, the tap operation immediately after the drag operation is released becomes difficult.
  • a game control such as jumping the soldier object 720 regardless of whether the tap operation is an operation on the operation body ST1 or not. Is executed. Further, the operating body ST2 is returned to the center position of the range RG2 in response to the release of the drag operation on the operating body ST2, and when the tap operation on the range RG2 is performed, the tap operation is an operation on the operating body ST2.
  • Game control such as firing a karoka bullet, is performed with or without it.
  • the tap operation immediately after the drag operation is released can be facilitated.
  • the movement of the soldier object 720 according to the drag operation with respect to the operation body ST1 and the jump of the soldier object 720 according to the tap operation within the range RG1 can be performed. It is possible to improve the operability when continuously performing, and when continuously performing the change of the direction of the apelooka gun according to the drag operation on the operation body ST2 and the attack according to the tap operation within the range RG2. Operability can be improved.
  • the virtual pad that accepts an operation for changing the firing direction of the apelooka cannon or the direction of the soldier object 720 or performing an attack with the apelooka cannon is different from the virtual pad that accepts the operation for moving / jumping the soldier object 720. Therefore, it is possible to change the direction and attack while moving / jumping, and the operability can be improved.
  • the operation of moving the soldier object 720 and the operation of attacking with the apelooka cannon are accepted by the virtual pad VP1, the operation of changing the firing direction of the apelooka cannon or the direction of the soldier object 720, and the operation of jumping the soldier object 720. Is accepted by the virtual pad VP2, it becomes difficult to attack while moving or jump while changing the direction.
  • the operation of moving the soldier object 720 and the operation of jumping the soldier object 720 are accepted by the virtual pad VP1, and the operation of changing the firing direction of the apelooka gun or the direction of the soldier object 720 and the attack by the apelooka gun are performed. Since the virtual pad VP2 accepts the operation to be made, it is possible to change the direction and attack while moving / jumping. As a result, operability can be improved.
  • the arrangement, configuration, and function of the virtual pads VP1 and VP2 in the distribution terminal 400 are the same as the arrangement, configuration, and function of the virtual pads VP1 and VP2 in the user terminal 100, except that the operation target is the second avatar object 610B. (See FIG. 29 (G)). That is, the operation input unit displayed on the distribution terminal 400 can receive the same predetermined operation as the predetermined operation input unit of the user terminal 100. For this reason, duplicate description of the virtual pads VP1 and VP2 of the distribution terminal 400 will be omitted.
  • step S81 it is determined whether or not the performer 4 has performed the live distribution start operation by the controller 540 based on the information from the controller 540.
  • the live distribution start operation may be an operation on an operation object arranged in the virtual space 600A.
  • the process proceeds to step S82, and the live distribution period identification information is distributed to the plurality of user terminals 100. Further, in step S82, a live distribution flag for identifying whether or not live distribution is being executed is set.
  • step S83 it is determined whether or not live distribution is being executed based on the live distribution flag. If the live distribution flab is not set, it is not determined that the live distribution is being executed, and the process returns after executing another process in step S88. On the other hand, if the live distribution flag is set, it is determined that the live distribution is being executed, and the process proceeds to step S84.
  • step S84 the virtual space 600A is defined as the live distribution space, and the virtual object including the first avatar object 610A is arranged in the live distribution space.
  • the motion of the performer 4 is captured based on the outputs from each of the HMD 500 and the motion sensor 520.
  • a virtual object including the first avatar object 610A is arranged and operated in the live distribution space based on the motion data or the like generated by the capture.
  • action instruction data for making it possible to specify the arrangement / action of the virtual object including the first avatar object 610A is generated based on the motion data or the like, and the game progress information including the action instruction data is generated. It is distributed to a plurality of user terminals 100. Further, in step S85, the live distribution period identification information is distributed to the plurality of user terminals 100.
  • step S85 the process proceeds to step S86, and it is determined whether or not the performer 4 has performed the live distribution end operation by the controller 540 based on the information from the controller 540.
  • the live distribution end operation may be an operation on an operation object arranged in the virtual space 600A.
  • step S87 the switching data to the live battle part is distributed to the plurality of user terminals 100. Further, in step S87, the live distribution flag is reset.
  • step S88 when it is not determined in step S86 that the live distribution end operation has been performed, another process is executed in step S88. When the process of step S87 or S88 is completed, the process returns.
  • step S101 it is determined whether or not the current time is in the live distribution period.
  • a user-side live distribution flag is provided in the memory 11 of the user terminal 100, and the user-side live distribution flag is set by receiving live distribution period identification information from the game play terminal 300.
  • step S101 it is determined whether or not the live distribution period is in progress based on the user-side live distribution flag. If it is not determined that the live distribution period is in progress, the process proceeds to step S109, while if it is determined that the live distribution period is in progress, the process proceeds to step S102.
  • the virtual space 600B is defined as the live distribution space, and the virtual camera 620B is arranged at a predetermined position in the live distribution space.
  • a virtual object including the first avatar object 610A is placed in the live distribution space, or has already been arranged, based on the model data stored in advance in the memory 11 and the game progress information distributed from the game play terminal 300. Operate the placed virtual object.
  • the field of view area 640B corresponding to the position and orientation of the current virtual camera 620B is defined, and the field of view image 660 corresponding to the field of view area 640B is displayed on the touch screen 15.
  • step S104 it is determined whether or not the current time is within the entry period provided in advance in the live distribution period, for example, based on the passage of time from the start of receiving the live distribution period identification information.
  • the entry acceptance process is executed in step S105, and then the process proceeds to step S106.
  • the process proceeds to step S106 without executing the process of step S105.
  • step S106 it is determined whether or not the switching data to the live battle part has been received based on the output from the communication IF 13.
  • the process proceeds to step S107, the switching screen shown in FIG. 29 (D) is displayed on the touch screen 15, and the live distribution flag on the user side is reset.
  • the switching screen is continuously displayed until the live battle period identification information based on the live battle start operation of the performer 4 is received.
  • step S91 it is determined whether or not the live battle start operation has been performed by the performer 4 based on the input operation on the touch screen 45.
  • step S92 the live battle period identification information is distributed to the user terminals 100 that have entered the live battle among the plurality of user terminals 100.
  • step S92 a live battle flag for identifying whether or not a live battle is being executed is set.
  • step S93 it is determined whether or not the live battle is being executed based on the live battle flag. If the live match flab is not set, it is not determined that the live match is being executed, and the process returns after executing other processing in step S99. On the other hand, if the live battle flag is set, it is determined that the live battle is being executed, and the process proceeds to step S94.
  • step S94 the virtual space 600B is defined as a live battle space. Further, in step S94, the enemy object 730 is operated based on the game program, and the plurality of soldier objects 720 are operated based on the operation information transmitted from the plurality of user terminals 100.
  • step S95 the field of view area 640B corresponding to the position and orientation of the current virtual camera 620B is defined, and the field of view image 660 corresponding to the field of view area 640B is displayed on the touch screen 45.
  • step S96 execute the live battle process.
  • the second avatar object 610B operates, and the HP and score of the second avatar object 610B and the HP of the enemy object 730 are updated.
  • step S97 it is determined whether or not the live battle end operation has been performed by the performer 4 based on the input operation on the touch screen 45.
  • the process proceeds to step S98, and the switching data to the live distribution part is distributed to the plurality of user terminals 100. Further, in step S98, the live battle flag is reset.
  • step S99 another process is executed in step S99. When the process of step S98 or S99 is completed, the process returns.
  • step S109 it is determined whether or not the current time is in the live battle period.
  • a user-side live battle flag is provided in the memory 11 of the user terminal 100, and the user-side live battle flag is set by receiving live battle period identification information from the distribution terminal 400.
  • step S109 it is determined whether or not the live battle period is in progress based on the user side live battle flag. If it is not determined that the live battle period is in progress, the process proceeds to step S108, while if it is determined that the live battle period is in progress, the process proceeds to step S110.
  • step S110 the virtual space 600B is defined as a live battle space. Further, in step S110, the enemy object 730 is operated based on the game program, the second avatar object 610B is operated based on the operation information transmitted from the distribution terminal 400, and the operation transmitted from the user terminal 100 of another user. The soldier object 720 of the other user is operated based on the information.
  • step S111 the field of view area 640B corresponding to the position and orientation of the current virtual camera 620B is defined, and the field of view image 660 corresponding to the field of view area 640B is displayed on the touch screen 15.
  • the live battle process is executed in step S112.
  • the soldier object 720 of the own user operates, and the HP and score of the soldier object 720 and the HP of the enemy object 730 are updated.
  • step S113 it is determined whether or not the switching data to the live distribution part has been received based on the output from the communication IF 13.
  • the process proceeds to step S114, the switching screen shown in FIG. 29F is displayed on the touch screen 15, and the user-side live battle flag is reset. The switching screen is continuously displayed until the live distribution period identification information based on the live distribution start operation of the performer 4 is received.
  • step S114 the process proceeds to step S108.
  • the user terminal 100 executes a process including a process according to the flowcharts shown in FIGS. 34 (A) and 34 (B).
  • the flowchart shown in FIG. 34 (A) shows the flow of processing according to the operation of the virtual pad VP1
  • the flowchart shown in FIG. 34 (B) shows the flow of processing according to the operation of the virtual pad VP2. ..
  • step S121 it is determined whether or not the tap operation is performed in the range RG1 based on the input operation on the touch screen 15.
  • the process proceeds to step S122, and the soldier object 720 is jumped.
  • step S123 it is determined based on the history information table whether or not the drag operation started by the touch operation on the operation body ST1 is in progress. If it is not determined that the drag operation is in progress, the operation body ST1 is arranged at the center position (reference position) of the range RG1 in step S124, and then returns. On the other hand, when it is determined that the drag operation is in progress, the process proceeds to step S125.
  • step S125 a vector is created with the center position of the range RG1 as the start point and the current touch position as the end point.
  • step S126 the operating body ST1 is moved based on the vector. That is, if the current touch position is within the range RG1, the operating body ST1 is moved to the current touch position, and if the current touch position is outside the range RG1, the operating body is at the intersection of the vector and the outer frame FR1. Move ST1.
  • step S127 the soldier object 720 is moved in a direction corresponding to the center position of the range RG1 and the current position of the operating body ST1.
  • step S1208 When the process of step S122 or S127 is completed, the process proceeds to step S128, and operation information for making the user's operation identifiable is transmitted to the server 200. That is, when the process proceeds from step S122 to step S128, the server 200 is provided with information that can identify that the operation target and the operation mode are the virtual pad VP1 and the tap operation, respectively, and the operation information including the user ID. Send. On the other hand, when the process proceeds from step S127 to step S128, the information that can identify that the operation target and the operation mode are the virtual pad VP1 and the drag operation, respectively, the vector created in step S125, and the user ID of the own user. The operation information including and is transmitted to the server 200. When the process of step S128 is completed, the process returns.
  • step S131 it is determined whether or not the tap operation is performed in the range RG2 based on the input operation on the touch screen 15.
  • the process proceeds to step S132, and a bullet is fired from the apelooka cannon.
  • step S133 it is determined based on the history information table whether or not the drag operation started by the touch operation on the operation body ST2 is in progress. If it is not determined that the drag operation is in progress, the operating body ST2 is arranged at the center position (reference position) of the range RG2 in step S134, and then returns. On the other hand, when it is determined that the drag operation is in progress, the process proceeds to step S135.
  • step S135 a vector is created with the center position of the range RG1 as the start point and the current touch position as the end point.
  • step S136 the operating body ST2 is moved based on the vector. That is, if the current touch position is within the range RG2, the operating body ST1 is moved to the current touch position, and if the current touch position is outside the range RG2, the operating body is at the intersection of the vector and the outer frame FR2. Move ST2.
  • step S137 the firing direction of the apelooka cannon and the virtual camera 62 are determined according to the center position of the range RG1 and the current position of the operating body ST2. Change the arrangement of 0B.
  • the firing direction of the Bazooka cannon that is, the direction of the soldier object 720 is viewed clockwise or counterclockwise when viewed from above the body axis of the soldier object 720.
  • the position and orientation of the virtual camera 620B are changed so that the soldier object 720 is captured from behind.
  • the firing direction of the Bazooka cannon is changed in the vertical direction around the straight line connecting both shoulders of the soldier object 720, and a virtual camera is used to capture the firing direction. Change the position and orientation of 620B.
  • step S138 operation information for making the user's operation identifiable is transmitted to the server 200. That is, when the process proceeds from step S132 to step S138, the server 200 is provided with information that can identify that the operation target and the operation mode are the virtual pad VP2 and the tap operation, respectively, and the operation information including the user ID. Send. On the other hand, when the process proceeds from step S137 to step S138, the information that can identify that the operation target and the operation mode are the virtual pad VP2 and the drag operation, respectively, the vector created in step S135, and the user ID of the own user. Operation information including and is transmitted to the server 200. When the process of step S138 is completed, the process returns.
  • the distribution terminal 400 executes the same process as the flowchart shown in FIG. 34 in the live battle in step S96. However, except that the target to be jumped in step S132 is the second avatar object 610B, and the target to be moved in step S137 is the second avatar object 610B and the virtual camera 620B behind the second avatar object 610B. Since it is the same as the processing of the flowchart shown in (1), duplicate description will be omitted.
  • the virtual space 600B of the user terminal 100 is defined as a live battle space in the live distribution part, while it is defined as a live battle space in the live battle part.
  • the user terminal 100 operates the first avatar object 610A in the live distribution space based on the operation instruction data generated based on the motion data obtained by capturing the motion of the performer 4.
  • the live battle part the user terminal 100 plays a live battle with the second avatar object 610B having the same appearance as the first avatar object 610A based on the operation information generated by the performer 4 operating the distribution terminal 400. Operate in space.
  • the soldier object 720 of the own user operates in response to the input to the virtual pads VP1 and VP2 of the user terminal 100 operated by the own user.
  • the second avatar object 610B operates in response to the input to the virtual pads VP1 and VP2 of the distribution terminal 400.
  • the performer 4 can operate the second avatar object 610B in the same manner as the user operates the soldier object 720, which causes advantages and disadvantages in operability between the performer and the user. Can be prevented.
  • the soldier object 720, the second avatar object 610B, and the enemy object 730 are battled, and the score and HP for identifying the superiority and inferiority of each are battled. Updated according to progress.
  • the user can enjoy the battle part in the form of competing for superiority or inferiority with the second avatar object 610B or the enemy object 730.
  • the live distribution part is a part in which the user and the first avatar object 610A can interact with each other.
  • the user can enjoy the live battle based on the mutual relationship deepened by the dialogue (for example, the relationship of trust based on the understanding of commonalities and differences such as hobbies and tastes).
  • the switching screen is displayed on the touch screen 15 when shifting from the live distribution part to the live battle part and when shifting from the live battle part to the live distribution part.
  • the visibility of the first avatar object 610A is restricted by the switching screen. As a result, it is possible to avoid the inconvenience that the first avatar object 610A having a strange behavior due to the attachment / detachment of the HMD 500 is displayed on the user terminal 100.
  • the virtual space 600B of the user terminal 100 is defined as a live battle space in the live distribution part, while it is defined as a live battle space in the live battle part.
  • a decorative object imitating a wreath is arranged in the virtual space 600B as a background object
  • a building object imitating a skyscraper is arranged in the virtual space 600B as a background object.
  • the input from the performer 4 that triggers the operation of the first avatar object 610A the input obtained in a mode different from the motion capture is not effectively accepted, and the motion is performed. Effectively accept the input obtained by capture.
  • the input from the performer 4 that triggers the operation of the second avatar object 610B the input obtained by the motion capture is not effectively accepted, and the input obtained in a mode different from the motion capture is valid. Accept to. As a result, it is possible to avoid the inconvenience that an erroneous process is executed.
  • the live battle part may be a battle between the second avatar object 610B and the plurality of soldier objects 720.
  • the match is played in a battle royale format, with the last surviving object being the winner.
  • the second avatar object 610B may be used as an enemy object, and a plurality of soldier objects 720 may cooperate to play against the second avatar object 610B.
  • a common virtual space 600B is provided in the memory (RAM) 11 of the user terminal 100, and the virtual space 600B is defined as a live distribution space in the live distribution part, while in the live battle part.
  • the virtual space 600B is defined as a live battle space.
  • the first virtual space and the second virtual space, which are different from each other, may be provided in the memory 11 as a live distribution space and a live battle space.
  • the first avatar object 610A is operated in the first virtual space and the virtual camera 620B is arranged in the first virtual space, while in the live battle part, the second avatar is operated in the second virtual space.
  • the object 610B may be operated and the virtual camera 620B may be arranged in the second virtual space.
  • the user terminal 100 does not operate the first avatar object 610A depending on the input obtained in a mode different from the capture, and the operation instruction data (data including motion data) received from the game play terminal 300. ), While operating the first avatar object 610A, in the live battle mode, the second avatar object 610B is not operated depending on the input obtained by the capture, and the operation information received from the distribution terminal 400 (what is the capture?) The second avatar object 610B may be operated based on the input-corresponding data obtained in different embodiments. As a result, it is possible to avoid the inconvenience that an erroneous process is executed on the user terminal 100.
  • the game play terminal 300 and the distribution terminal 400 are separate bodies, and the game play terminal 300 defines the live distribution space, while the distribution terminal 400 defines the live battle space.
  • a common virtual space is defined in the memory of the integrated terminal, and the virtual space is divided into a live distribution space and a live battle space according to the part. You may switch with.
  • the switching screen is displayed on the touch screen 15 of the user terminal 100 at the time of transition between the live distribution part and the live battle part.
  • the screen displayed at the time of transition between the live distribution part and the live battle part is not limited to displaying the switching screen as long as the first avatar object 610A is an image that the user cannot see.
  • the display of the touch screen 15 may be dimmed (a black screen is displayed), or it may be an effect screen in which a predetermined character is displayed.
  • the second avatar object 610B arranged in the live battle space is generated by the performer 4 operating the distribution terminal 400 on which the virtual pads VP1 and VP2 similar to the user terminal 100 are displayed. It operates based on the operated information. However, by preparing a dedicated controller having a physical joystick and buttons (that is, a controller whose operability is different from that of the virtual pads VP1 and VP2 displayed on the user terminal 100) and the performer 4 operating the dedicated controller. The second avatar object 610B may be operated based on the generated operation signal.
  • the first avatar object 610A and the second avatar object 610B are objects having the same appearance.
  • the face and voice may be the same as each other, while the clothes and hairstyle may be different from each other.
  • the first avatar object 610A may be made to wear a dress
  • the second avatar object 610B may be made to wear a combat uniform.
  • clothes and hairstyles may be changed according to the type of battle or the stage that constitutes the battle. Further, a plurality of hairstyles or hairstyles may be changed by charging or the like.
  • the appearances of the first avatar object 610A and the second avatar object 610B are common to the plurality of user terminals 100. However, the appearance may be different depending on the user terminal 100. For example, the first avatar object 610A and the second avatar object 610B wearing luxurious costumes such as dresses are made to appear on the user terminal 100 of a user who plays frequently or a user who has made a charge, and a user who plays infrequently. The first avatar object 610A and the second avatar object 610B wearing a simple costume such as a T-shirt may appear on the user terminal 100.
  • the stage of the live battle and the appearance of the enemy object 730 are common among the users. However, at least one of the stage of the live battle and the appearance of the enemy object 730 may be different depending on the location of the user. In this case, the stage of the live battle of the user is generated based on the cityscape of the user's location, or the appearance of the enemy object 730 is generated based on the person, animal, character (local character), etc. related to the location. You may do so.
  • the entry period is set in advance in the live distribution period, and the entry period starts at a predetermined timing.
  • the entry period may be started by a predetermined operation of the performer 4.
  • a game program executed in a terminal device (user terminal 100) including a processor, a memory, and an input unit, the processor in a virtual space (600B).
  • the steps (S102, S110) for operating the arranged characters (first avatar object, second avatar object) and the character viewed from a predetermined viewpoint in the virtual space can be displayed on a predetermined display unit.
  • the motion data obtained by capturing the motion of the performer (player 4) who plays the character is obtained in the step of executing the steps (S103, S111) for
  • the character is operated based on the included data (action instruction data) (S102), and in the second part (live battle part), the input from the performer is received in a manner different from the capture.
  • the character is operated based on the collected data (operation information) (S110).
  • the terminal device includes a display unit, a sound output unit, and a communication unit that communicates with the distribution terminal device (distribution terminal 400), and the data is data transmitted from the distribution terminal device.
  • the second part is a user character different from the character in response to the input from the user to the predetermined operation input units (virtual pads VP1 and VP2) that receive the predetermined operation among the input units.
  • the input from the performer which is a part for operating the (soldier object) together with the character in the virtual space and triggers the operation of the character in the second part, is an input to an input unit included in the distribution terminal device.
  • the input is to the operation input units (virtual pads VP1 and VP2) capable of accepting the same predetermined operation as the predetermined operation input unit.
  • Appendix 4 In (Appendix 2) or (Appendix 3), the first part is a part capable of interacting between the user and the character.
  • (Appendix 6) In any of (Appendix 1) to (Appendix 5), the processor is made to execute a step of arranging a background object as a background of the character in the virtual space, and the arranging step is described in the first part. , A first background object is arranged in the virtual space, and in the second part, a second background object different from the first background object is arranged in the same virtual space as the virtual space.
  • (Appendix 7) In any of (Appendix 1) to (Appendix 5), the first virtual space and the second virtual space are provided as the virtual space, and in the first part, the step of operating the virtual space causes the operation.
  • the character in the first virtual space can be displayed on the display unit by the step for operating the character in the first virtual space and can be displayed, and in the second part, the character can be displayed in the display unit by the step of operating the character.
  • the character in the second virtual space can be displayed on the display unit.
  • a game method executed by a terminal device including a processor, a memory, and an input unit, wherein the terminal device is arranged in a virtual space (600B).
  • the step of including (S103, S111) and the operation includes data (operation) including motion data obtained by capturing the motion of the performer (player 4) who plays the character.
  • the character is operated based on the instruction data) (S102), and in the second part (live battle part), the data (operation) corresponding to the input obtained from the performer in a mode different from the capture.
  • the character is operated based on the information) (S110).
  • the terminal device (user terminal 100) operates with a storage unit (storage unit 120) for storing a game program and the terminal device by executing the game program.
  • a control unit (control unit 110) for controlling is provided, and the control unit includes steps (S102, S110) for operating characters (first avatar object, second avatar object) arranged in the virtual space (600B). , Steps (S103, S111) for enabling the character viewed from a predetermined viewpoint in the virtual space to be displayed on a predetermined display unit, and the step of operating the first part (live distribution part).
  • the character is operated based on data (motion instruction data) including motion data obtained by capturing the motion of the performer (player 4) who plays the character (S102), and the second part (live battle part) is performed.
  • the character is operated based on the data (operation information) corresponding to the input received from the performer in a mode different from that of the capture (S110).
  • control blocks (particularly the control units 110, 210, 310, 410) of the user terminal 100, the server 200, the game play terminal 300 (HMD set 1000), and the distribution terminal 400 are logics formed in an integrated circuit (IC chip) or the like. It may be realized by a circuit (hardware) or by software.
  • the user terminal 100, the server 200, the game play terminal 300 (HMD set 1000), and the distribution terminal 400 include a computer that executes instructions of a program that is software that realizes each function.
  • the computer includes, for example, one or more processors and a computer-readable recording medium that stores the program. Then, in the computer, the processor reads the program from the recording medium and executes it, thereby achieving the object of the present invention.
  • the processor for example, a CPU (Central Processing Unit) can be used.
  • the recording medium in addition to a “non-temporary tangible medium” such as a ROM (Read Only Memory), a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used.
  • a RAM RandomAccessMemory
  • the program may be supplied to the computer via an arbitrary transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program.
  • a transmission medium communication network, broadcast wave, etc.
  • one aspect of the present invention 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想空間に配置されているキャラクタを動作させる。第1パートにおいては、キャラクタを演じる演者のモーションをキャプチャして得たモーションデータを含むデータに基づいてキャラクタを動作させ、第2パートにおいては、演者からの入力であってキャプチャとは異なる態様で得た入力に応じたデータに基づいてキャラクタを動作させる。仮想空間内における所定の視点から見たキャラクタを所定の表示部に表示可能とする。

Description

ゲームプログラム、ゲーム方法、および端末装置
本発明は、ゲームプログラム、ゲーム方法、および端末装置に関する。
演者のモーションをキャプチャして得たモーションデータに基づいてオブジェクトを動作させるゲームアプリとして、当該オブジェクトが登場する仮想空間の画像をユーザ端末にライブ配信することにより、ユーザと当該オブジェクトとの間での対話を可能にするゲームアプリがある(非特許文献1)。
"Reality"、[online]、[令和1年6月13日検索]、インターネット<https://le.wrightflyer.net/reality/>
しかし、当該オブジェクトが登場し得る場面として複数種類のパートを設けて、一律にモーションデータに基づいてオブジェクトを動作させた場合には、進行中のパートの種類によっては操作性や進行度合いなどに不具合を生じさせてしまう虞があり、改善の余地があった。
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、不具合を生じさせることなく各パートを進行可能とする、ゲームプログラム、ゲーム方法、および情報端末装置を提供することである。
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および入力部を備える端末装置において実行されるゲームプログラムが提供される。当該ゲームプログラムは、プロセッサに、仮想空間に配置されているキャラクタを動作させるステップと、仮想空間内における所定の視点から見たキャラクタを所定の表示部に表示可能とするためのステップとを実行させ、動作させるステップは、第1パートにおいては、キャラクタを演じる演者のモーションをキャプチャして得たモーションデータを含むデータに基づいてキャラクタを動作させ、第2パートにおいては、演者からの入力であってキャプチャとは異なる態様で得た入力に応じたデータに基づいてキャラクタを動作させる。
本発明によれば、操作性や進行度合いなどに不具合を生じさせることなく各パートを進行させることができる。
ある実施の形態に従うシステムの概要の一例を示す図である。 ある実施の形態に従うユーザ端末のハードウェア構成の一例を示すブロック図である。 ある実施の形態に従うサーバのハードウェア構成の一例を示すブロック図である。 ある実施の形態に従うゲームプレイ端末のハードウェア構成の一例を示すブロック図である。 ある実施の形態に従う配信端末のハードウェア構成の一例を示すブロック図である。 ある実施の形態に従うユーザ端末、サーバ、HMDセットの機能的構成の一例を示すブロック図である。 ある実施の形態に従う配信端末の機能的構成の一例を示すブロック図である。 ある実施の形態に従うユーザ端末およびゲームプレイ端末において実行される処理の一部を表すフローチャートである。 ある実施の形態に従う、プレイヤに提供される仮想空間、および、プレイヤが視認する視界画像の一例を示す図である。 ある実施の形態に従う、ユーザ端末のユーザに提供される仮想空間、および、該ユーザが視認する視界画像の一例を示す図である。 ユーザ端末のユーザが視認する視界画像の他の例を示す図である。 ユーザ端末のユーザが視認する視界画像のさらに別の例を示す図である。 ある実施の形態に従うゲームプレイ端末において実行される処理の一部を表すフローチャートである。 ある実施の形態に従うユーザ端末において実行される処理の一部を表すフローチャートである。 ある実施の形態に従うサーバにおいて実行される処理の一部を表すフローチャートである。 ある実施の形態に従う、ゲームに参加したユーザのリストの一具体例を示す図である。 ある実施の形態に従う配信端末において実行される処理の一部を表すフローチャートである。 ある実施の形態に従う配信端末に表示される画面の一具体例を示す図である。 ある実施の形態に従う配信端末に表示される画面の他の具体例を示す図である。 ある実施の形態に従う、プレイヤによる音声入力の一具体例を示す図である。 ある実施の形態に従う配信端末に表示される画面のさらなる別の具体例と、動作指図データの配信の概要とを示す図である。 ある実施の形態に従う、プレイヤによる音声入力の他の具体例を示す図である。 ある実施の形態に従う配信端末に表示される画面のさらなる別の具体例と、動作指図データの配信の概要とを示す図である。 ある実施形態に従うゲームプレイ端末からユーザ端末へのゲーム進行情報の送信の概要を示す図である。 ある実施の形態に従うユーザ端末において実行される処理の一部を表すフローチャートである。 動画再生の一具体例を示す図である。 動画再生の他の具体例を示す図である。 (A)HMDおよびモーションセンサを装着した演者の外観の一例を示す図であり、(B)は配信端末400に表示されるバーチャルパッドの一例を示す図である。 (A)はユーザ端末に表示されるゲーム映像の一例を示す図であり、(B)はユーザ端末に表示されるゲーム映像の他の一例を示す図であり、(C)はユーザ端末に表示されるゲーム映像のその他の一例を示す図であり、(D)はユーザ端末に表示されるゲーム映像のさらにその他の一例を示す図であり、(E)はユーザ端末に表示されるゲーム映像の他の一例を示す図であり、(F)は配信端末に表示されるゲーム映像の一例を示す図である。 (A)はユーザ端末に表示されるゲーム映像の一例を示す図であり、(B)はユーザ端末に表示されるゲーム映像の他の一例を示す図であり、(C)はユーザ端末に表示されるゲーム映像のその他の一例を示す図であり、(D)はユーザ端末に表示されるゲーム映像のさらにその他の一例を示す図であり、(E)はユーザ端末に表示されるゲーム映像の他の一例を示す図である。 (A)はユーザ端末に表示されるゲーム映像の一例を示す図であり、(B)はユーザ端末に表示されるゲーム映像の他の一例を示す図であり、(C)はユーザ端末に表示されるゲーム映像のその他の一例を示す図であり、(D)はユーザ端末に表示されるゲーム映像のさらにその他の一例を示す図であり、(E)はユーザ端末に表示されるゲーム映像の他の一例を示す図である。 (A)はゲームプレイ端末において実行される処理の流れの一例を示すフローチャートであり、(B)は配信端末において実行される処理の流れの一例を示すフローチャートである。 ユーザ端末において実行される処理の流れの一例を示すフローチャートである。 (A)はユーザ端末および配信端末の各々において実行される処理の流れの一例を示すフローチャートであり、(B)はユーザ端末および配信端末の各々において実行される処理の流れの他の一例を示すフローチャートである。
本開示に係るシステムは、複数のユーザにゲームを提供するためのシステムである。以下、該システムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<システム1の動作概要>
図1は、本実施形態に係るシステム1の概要を示す図である。システム1は、複数のユーザ端末100(コンピュータ)と、サーバ200と、ゲームプレイ端末300(外部装置、第2外部装置)と、配信端末400(外部、第1外部装置)とを含む。なお、図1では、複数のユーザ端末100の一例として、ユーザ端末100A~100C、換言すれば、3台のユーザ端末100を記載しているが、ユーザ端末100の台数は図示の例に限定されない。また、本実施形態では、ユーザ端末100A~Cを区別する必要が無い場合、「ユーザ端末100」と記載する。ユーザ端末100、ゲームプレイ端末300、および配信端末400は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
(ゲームの概要)
本実施形態では、システム1によって提供されるゲーム(以下、本ゲーム)の一例として、ゲームプレイ端末300のユーザが主としてプレイするゲームを説明する。以下、ゲームプレイ端末300のユーザを、「プレイヤ」と称する。プレイヤ(演者)は、一例として、本ゲームに登場するキャラクタを操作することにより、ゲームを進行させる。また、本ゲームにおいて、ユーザ端末100のユーザは、プレイヤによるゲームの進行を支援する役割を担う。本ゲームの詳細については後述する。なお、システム1によって提供されるゲームは、複数のユーザが参加するゲームであればよく、この例に限定されない。
(ゲームプレイ端末300)
ゲームプレイ端末300は、プレイヤによる入力操作に応じてゲームを進行させる。また、ゲームプレイ端末300は、プレイヤのゲームプレイにより生成された情報(以下、ゲーム進行情報)を、順次、サーバ200にリアルタイムで配信する。
(サーバ200)
サーバ200は、ゲームプレイ端末300からリアルタイムに受信したゲーム進行情報(第2データ)を、ユーザ端末100に送信する。また、サーバ200は、ユーザ端末100、ゲームプレイ端末300、および配信端末400の間の各種情報の送受信を仲介する。
(配信端末400)
配信端末400は、配信端末400のユーザによる入力操作に応じて、動作指図データ(第1データ)を生成し、サーバ200を介してユーザ端末100へ動作指図データを配信する。動作指図データとは、ユーザ端末100において動画を再生するためのデータであり、具体的には、動画に登場するキャラクタを動作させるためのデータである。
本実施形態では、一例として、配信端末400のユーザは、本ゲームのプレイヤである。また、一例として、ユーザ端末100にて動作指図データに基づいて再生される動画は、プレイヤがゲームで操作したキャラクタが動作する動画である。「動作」とは、キャラクタの身体の少なくとも一部を動かすことであり、発話も含む。このため、本実施形態に係る動作指図データは、例えば、キャラクタに発話させるための音声データと、キャラクタの身体を動かすためのモーションデータとを含む。
動作指図データは、一例として、本ゲームの終了後にユーザ端末100へ送信される。動作指図データ、および、該動作指図データに基づいて再生される動画の詳細については後述する。
(ユーザ端末100)
ユーザ端末100は、ゲーム進行情報をリアルタイムに受信し、該情報を用いてゲーム画面を生成して表示する。換言すれば、ユーザ端末100は、リアルタイムレンダリングにより、プレイヤがプレイしているゲームのゲーム画面を再生する。これにより、ユーザ端末100のユーザは、プレイヤがゲームをプレイしながら視認しているゲーム画面と同一のゲーム画面を、プレイヤとほぼ同じタイミングで視認することができる。
また、ユーザ端末100は、ユーザによる入力操作に応じて、プレイヤによるゲームの進行を支援するための情報を生成し、該情報を、サーバ200を介してゲームプレイ端末300へ送信する。該情報の詳細については後述する。
また、ユーザ端末100は、配信端末400から動作指図データを受信し、該動作指図データを用いて動画(映像)を生成して再生する。換言すれば、ユーザ端末100は、動作指図データをレンダリングして再生する。
<システム1のハードウェア構成>
図2は、ユーザ端末100のハードウェア構成を示す図である。図3は、サーバ200 のハードウェア構成を示す図である。図4は、ゲームプレイ端末300のハードウェア構成を示す図である。図5は、配信端末400のハードウェア構成を示す図である。
(ユーザ端末100)
本実施形態では、一例として、ユーザ端末100がスマートフォンとして実現される例を説明するが、ユーザ端末100はスマートフォンに限定されない。例えば、ユーザ端末100はフィーチャーフォン、タブレット型コンピュータ、ラップトップ型コンピュータ(いわゆる、ノートパソコン)、または、デスクトップ型コンピュータなどとして実現されてもよい。また、ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。
ユーザ端末100は図2に示すように、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100 は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図2に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Blueto oth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020 は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020 を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
図2に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
(サーバ200)
サーバ200は、一例として、ワークステーションまたはパーソナルコンピュータなどの汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
(ゲームプレイ端末300)
ゲームプレイ端末300は、一例として、パーソナルコンピュータなどの汎用コンピュータであってよい。ゲームプレイ端末300は、プロセッサ30と、メモリ31と、ストレージ32と、通信IF33と、入出力IF34とを備える。ゲームプレイ端末300が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
図4に示すように、本実施形態に係るゲームプレイ端末300は、一例として、HMD(Head  Mounted  Display)セット1000に含まれる。つまり、HMDセット1000が、システム1に含まれていると表現することができ、また、プレイヤは、HMDセット1000を用いてゲームをプレイすると表現することもできる。なお、プレイヤがゲームをプレイするための装置は、HMDセット1000に限定されない。一例として、該装置は、プレイヤにゲームを仮想体験させることが可能な装置であればよい。また、該装置は、スマートフォン、フィーチャーフォン、タブレット型コンピュータ、ラップトップ型コンピュータ(いわゆる、ノートパソコン)、または、デスクトップ型コンピュータなどとして実現されてもよい。また、該装置は、ゲームプレイに適したゲーム装置であってもよい。
HMDセット1000は、ゲームプレイ端末300の他、HMD500、HMDセンサ510、モーションセンサ520、ディスプレイ530、コントローラ540を備える。HMD500は、モニタ51と、注視センサ52と、第1カメラ53と、第2カメラ54 と、マイク55と、スピーカ56とを含む。コントローラ540は、モーションセンサ520を含み得る。
HMD500は、プレイヤの頭部に装着され、動作中に仮想空間をプレイヤに提供し得る。より具体的には、HMD500は、右目用の画像および左目用の画像をモニタ51にそれぞれ表示する。プレイヤの各目がそれぞれの画像を視認すると、プレイヤは、両目の視差に基づき当該画像を3次元画像として認識し得る。HMD500は、モニタを備える所謂ヘッドマウントディスプレイと、スマートフォンその他のモニタを有する端末を装着可能なヘッドマウント機器のいずれをも含み得る。
モニタ51は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ51は、プレイヤの両目の前方に位置するようにHMD500の本体に配置されている。したがって、プレイヤは、モニタ51に表示される3次元画像を視認すると、仮想空間に没入することができる。ある局面において、仮想空間は、例えば、背景、プレイヤが操作可能なオブジェクト、プレイヤが選択可能なメニューの画像を含む。ある局面において、モニタ51は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。
別の局面において、モニタ51は、透過型の表示装置として実現され得る。この場合、HMD500は、図1に示されるようにプレイヤの目を覆う密閉型ではなく、メガネ型のような開放型であり得る。透過型のモニタ51は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。モニタ51は、仮想空間を構成する画像の一部と、現実空間とを同時に表示する構成を含んでいてもよい。例えば、モニタ51は、HMD500に搭載されたカメラで撮影した現実空間の画像を表示してもよいし、一部の透過率を高く設定することにより現実空間を視認可能にしてもよい。
ある局面において、モニタ51は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ51は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ51は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
ある局面において、HMD500は、図示せぬ複数の光源を含む。各光源は例えば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ510は、HMD500の動きを検出するためのポジショントラッキング機能を有する。より具体的には、HMDセンサ510は、HMD500が発する複数の赤外線を読み取り、現実空間内におけるHMD500の位置および傾きを検出する。
別の局面において、HMDセンサ510は、カメラにより実現されてもよい。この場合、HMDセンサ510は、カメラから出力されるHMD500の画像情報を用いて、画像解析処理を実行することにより、HMD500の位置および傾きを検出することができる。
別の局面において、HMD500は、位置検出器として、HMDセンサ510の代わりに、あるいはHMDセンサ510に加えてセンサ(不図示)を備えてもよい。HMD500は、該センサを用いて、HMD500自身の位置および傾きを検出し得る。例えば、該センサが角速度センサ、地磁気センサ、あるいは加速度センサである場合、HMD500 は、HMDセンサ510の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、HMD500に備えられたセンサが角速度センサである場合、角速度センサは、現実空間におけるHMD500の3軸周りの角速度を経時的に検出する。HMD500は、各角速度に基づいて、HMD500の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD500の傾きを算出する。
注視センサ52は、プレイヤの右目および左目の視線が向けられる方向を検出する。つまり、注視センサ52は、プレイヤの視線を検出する。視線の方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ52は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ52は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ52は、例えば、プレイヤの右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ52は、検出した各回転角に基づいて、プレイヤの視線を検知することができる。
第1カメラ53は、プレイヤの顔の下部を撮影する。より具体的には、第1カメラ53 は、プレイヤの鼻および口などを撮影する。第2カメラ54は、プレイヤの目および眉などを撮影する。HMD500のプレイヤ側の筐体をHMD500の内側、HMD500のプレイヤとは逆側の筐体をHMD500の外側と定義する。ある局面において、第1カメラ53は、HMD500の外側に配置され、第2カメラ54は、HMD500の内側に配置され得る。第1カメラ53および第2カメラ54が生成した画像は、ゲームプレイ端末300に入力される。別の局面において、第1カメラ53と第2カメラ54とを1台のカメラとして実現し、この1台のカメラでプレイヤの顔を撮影するようにしてもよい。
マイク55は、プレイヤの発話を音声信号(電気信号)に変換してゲームプレイ端末300に出力する。スピーカ56は、音声信号を音声に変換してプレイヤに出力する。別の局面において、HMD500は、スピーカ56に替えてイヤホンを含み得る。
コントローラ540は、有線または無線によりゲームプレイ端末300に接続されている。コントローラ540は、プレイヤからゲームプレイ端末300への命令の入力を受け付ける。ある局面において、コントローラ540は、プレイヤによって把持可能に構成される。別の局面において、コントローラ540は、プレイヤの身体あるいは衣類の一部に装着可能に構成される。さらに別の局面において、コントローラ540は、ゲームプレイ端末300から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。さらに別の局面において、コントローラ540は、プレイヤから、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
ある局面において、コントローラ540は、複数の光源を含む。各光源は例えば、赤外線を発するLEDにより実現される。HMDセンサ510は、ポジショントラッキング機能を有する。この場合、HMDセンサ510は、コントローラ540が発する複数の赤外線を読み取り、現実空間内におけるコントローラ540の位置および傾きを検出する。別の局面において、HMDセンサ510は、カメラにより実現されてもよい。この場合、HMDセンサ510は、カメラから出力されるコントローラ540の画像情報を用いて、画像解析処理を実行することにより、コントローラ540の位置および傾きを検出することができる。
モーションセンサ520は、ある局面において、プレイヤの手に取り付けられて、プレイヤの手の動きを検出する。例えば、モーションセンサ520は、手の回転速度、回転数等を検出する。検出された信号は、ゲームプレイ端末300に送られる。モーションセンサ520は、例えば、コントローラ540に設けられている。ある局面において、モーションセンサ520は、例えば、プレイヤに把持可能に構成されたコントローラ540に設けられている。別の局面において、現実空間における安全のため、コントローラ540は、手袋型のようにプレイヤの手に装着されることにより容易に飛んで行かないものに装着される。さらに別の局面において、プレイヤに装着されないセンサがプレイヤの手の動きを検出してもよい。例えば、プレイヤを撮影するカメラの信号が、プレイヤの動作を表わす信号として、ゲームプレイ端末300に入力されてもよい。モーションセンサ520とゲームプレイ端末300とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetoothその他の公知の通信手法が用いられる。
ディスプレイ530は、モニタ51に表示されている画像と同様の画像を表示する。これにより、HMD500を装着しているプレイヤ以外のユーザにもプレイヤと同様の画像を視聴させることができる。ディスプレイ530に表示される画像は、3次元画像である必要はなく、右目用の画像や左目用の画像であってもよい。ディスプレイ530としては、例えば、液晶ディスプレイや有機ELモニタなどが挙げられる。
ゲームプレイ端末300は、HMD500の各部、コントローラ540、およびモーションセンサ520から取得した各種情報に基づいて、プレイヤの操作対象となるキャラクタを動作させ、ゲームを進行させる。ここでの「動作」には、身体の各部を動かすこと、姿勢を変えること、顔の表情を変えること、移動、発話、仮想空間に配置されたオブジェクトに触れたり、動かしたりすること、キャラクタが把持する武器、道具などを使用することなどが含まれる。すなわち、本ゲームでは、プレイヤが身体の各部を動かすことにより、キャラクタもプレイヤと同様に身体の各部を動かす。また、本ゲームでは、プレイヤが発話した内容をキャラクタが発話する。換言すれば、本ゲームにおいて、キャラクタは、プレイヤの分身としてふるまうアバターオブジェクトである。一例として、キャラクタの動作の少なくとも一部が、プレイヤによるコントローラ540に対する入力により実行されてもよい。
本実施形態では、モーションセンサ520は、一例として、プレイヤの両手、プレイヤの両足、プレイヤの腰部、および、プレイヤの頭部に取り付けられる。プレイヤの両手に取り付けられるモーションセンサ520は、上述したとおり、コントローラ540に設けられていてもよい。また、プレイヤの頭部に取り付けられるモーションセンサ520は、HMD500に設けられていてもよい。モーションセンサ520は、さらに、ユーザの両肘や両膝に取り付けられてもよい。プレイヤに取り付けるモーションセンサ520の数を増やすことにより、プレイヤの動きをより正確にキャラクタに反映させることができる。また、プレイヤは、モーションセンサ520を身体の各部に取り付けることに代えて、1 以上のモーションセンサ520が取り付けられたスーツを着用してもよい。つまり、モーションキャプチャの方法は、モーションセンサ520を用いる例に限定されない。
(配信端末400)
配信端末400は、スマートフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。また、配信端末400は、デスクトップパソコン等の、いわゆる据え置き型の端末であってもよい。
配信端末400は、図5に示すように、プロセッサ40と、メモリ41と、ストレージ42と、通信IF43と、入出力IF44と、タッチスクリーン45とを備える。なお、配信端末400は、タッチスクリーン45に代えて、または、加えて、配信端末400本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF44を備えていてもよい。
コントローラ1021は、1つ以上のボタン、レバー、スティック、ホイール等の物理的な入力機構を有していてもよい。コントローラ1021は、配信端末400の操作者(本実施形態ではプレイヤ)が、該入力機構に対して入力した入力操作に基づく出力値を配信端末400へ送信する。また、コントローラ1021は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値を配信端末400へ送信してもよい。上述の出力値は、通信IF43を介して配信端末400に受け付けられる。
配信端末400は、カメラと、測距センサ(ともに不図示)とを備えていてもよい。配信端末400が備えることに代えて、または、加えて、コントローラ1021がカメラと、測距センサとを有してしてもよい。
以上で説明したとおり、配信端末400は、該配信端末400に対して情報を入力する機構の一例として、通信IF43、入出力IF44、タッチスクリーン45を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
操作部がタッチスクリーン45で構成されている場合、配信端末400は、タッチスクリーン45の入力部451に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF43で構成される場合、配信端末400 は、コントローラ1021から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF44で構成される場合、配信端末400は、該入出力IF44と接続される入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<各装置のハードウェア構成要素>
プロセッサ10、20、30、40はそれぞれ、ユーザ端末100、サーバ200、ゲームプレイ端末300、配信端末400の全体の動作を制御する。プロセッサ10、20、30、40は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。プロセッサ10、20、30、40は、それぞれ、後述するストレージ12、22、32、42からプログラムを読み出す。そして、プロセッサ10、20、30、40は、それぞれ、読み出したプログラムを、後述するメモリ11、21、31、41に展開する。プロセッサ10、20、30は、展開したプログラムを実行する。
メモリ11、21、31、41は主記憶装置である。メモリ11、21、31、41は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ31は、プロセッサ30が後述するストレージ32から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ30に作業領域を提供する。メモリ31は、プロセッサ30がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ41 は、プロセッサ40が後述するストレージ42から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ40に作業領域を提供する。メモリ41は、プロセッサ40がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態において、プロセッサ10および30が実行するプログラムは、本ゲームのゲームプログラムであってもよい。本実施形態において、プロセッサ40が実行するプログラムは、動作指図データの配信を実現するための配信プログラムであってもよい。また、プロセッサ10は、さらに、動画の再生を実現するための視聴プログラムを実行してもよい。
本実施形態において、プロセッサ20が実行するプログラムは、上述のゲームプログラム、配信プログラム、視聴プログラムの少なくとも何れかであってもよい。プロセッサ20は、ユーザ端末100、ゲームプレイ端末300、および配信端末400の少なくとも何れかからの要求等に応じて、ゲームプログラム、配信プログラム、視聴プログラムの少なくとも何れかを実行する。なお、配信プログラムと視聴プログラムは、並行して実行されてもよい。
すなわち、ゲームプログラムは、ゲームをユーザ端末100、サーバ200、およびゲームプレイ端末300の協働により実現するプログラムであってもよい。配信プログラムは、動作指図データの配信を、サーバ200と配信端末400との協働により実現するプログラムであってもよい。視聴プログラムは、動画の再生を、ユーザ端末100とサーバ200との協働により実現するプログラムであってもよい。
ストレージ12、22、32、42は補助記憶装置である。ストレージ12、22、32、42は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12、32には、例えば、ゲームに関する各種データが格納される。ストレージ42には、動作指図データの配信に関する各種データが格納される。また、ストレージ12には、動画の再生に関する各種データが格納される。ストレージ22には、ゲーム、動作指図データの配信、および動画の再生それぞれに関する各種データのうち、少なくとも一部が格納されてもよい。
通信IF13、23、33、43は、それぞれ、ユーザ端末100、サーバ200、ゲームプレイ端末300、配信端末400における各種データの送受信を制御する。通信I F13、23、33、43は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14、24、34、44は、それぞれ、ユーザ端末100、サーバ200、ゲームプレイ端末300、配信端末400がデータの入力を受け付けるため、また、データを出力するためのインターフェースである。入出力IF14、24、34、44は、USB(Universal  Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14、24、34、44は、物理ボタン、カメラ、マイク、スピーカ、マウス、キーボード、ディスプレイ、スティック、レバーなどを含み得る。また、入出力IF14、24、34、44は、周辺機器との間でデータを送受信するための接続部を含み得る。
タッチスクリーン15は、入力部151と表示部152(ディスプレイ)とを組み合わせた電子部品である。タッチスクリーン45は、入力部451と表示部452とを組み合わせた電子部品である。入力部151および451は、一例として、タッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152および452 は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151および451は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151および451 は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100および配信端末400は、それぞれ、ユーザ端末100および配信端末400の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。
ユーザ端末100および配信端末400がセンサを備えている場合、プロセッサ10および40は、それぞれ、センサの出力からユーザ端末100および配信端末400の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10および40は、それぞれ、ユーザ端末100および配信端末400が縦向きに保持されているときには、縦長の画像を表示部152および452に表示させる縦画面表示としてもよい。一方、ユーザ端末100および配信端末400が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10および40は、それぞれ、ユーザ端末100および配信端末400の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
<システム1の機能的構成>
図6は、システム1に含まれるユーザ端末100、サーバ200、およびHMDセット1000の機能的構成を示すブロック図である。図7は、図6に示す配信端末400の機能的構成を示すブロック図である。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、入出力IF14、およびタッチスクリーン15等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、ユーザ端末100、HMDセット1000、および配信端末400の間の各種情報の送受信を仲介する機能を有する。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
HMDセット1000(ゲームプレイ端末300)は、プレイヤの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能と、ゲーム進行情報を、サーバ200を介してユーザ端末100へリアルタイムに送信する機能を有する。HMDセット1000は、ゲームプレイ端末300のプロセッサ30、メモリ31、ストレージ32、通信IF33、入出力IF34、並びに、HMD500、HMD センサ510、モーションセンサ520、およびコントローラ540等の協働によって、制御部310および記憶部320として機能する。
配信端末400は、動作指図データを生成して、該動作指図データを、サーバ200を介してユーザ端末100へ送信する機能を有する。配信端末400は、プロセッサ40、メモリ41、ストレージ42、通信IF43、入出力IF44、およびタッチスクリーン45等の協働によって、制御部410および記憶部420として機能する。
(各装置の記憶部が格納するデータ)
記憶部120は、ゲームプログラム131(プログラム)、ゲーム情報132、および、ユーザ情報133を格納する。記憶部220は、ゲームプログラム231、ゲーム情報232、ユーザ情報233、および、ユーザリスト234を格納する。記憶部320は、ゲームプログラム331、ゲーム情報332、および、ユーザ情報333を格納する。記憶部420は、ユーザリスト421、モーションリスト422、配信プログラム423(プログラム、第2プログラム)を格納する。
ゲームプログラム131、231、331は、それぞれ、ユーザ端末100、サーバ200、HMDセット1000が実行するゲームプログラムである。ゲームプログラム131、231、331に基づいて各装置が協働して動作することにより、本ゲームが実現される。なお、ゲームプログラム131および331は、記憶部220に格納され、ユーザ端末100およびHMDセット1000にそれぞれダウンロードされる構成でもよい。なお、本実施形態では、ユーザ端末100は、ゲームプログラム131に基づいて、配信端末400から受信したデータをレンダリングし、動画を再生するものとする。換言すれば、ゲームプログラム131は、配信端末400から配信された動画指図データを用いて、動画を再生するためのプログラムでもある。該動画を再生するためのプログラムは、ゲームプログラム131と異なってもよい。この場合、記憶部120は、ゲームプログラム1
31とは別に、該動画を再生するためのプログラムを格納する。
ゲーム情報132、232、332は、それぞれ、ユーザ端末100、サーバ200、HMDセット1000がゲームプログラムを実行する際に参照するデータである。ユーザ情報133、233、333は、ユーザ端末100のユーザのアカウントに関するデータである。ゲーム情報232は、各ユーザ端末100のゲーム情報132、および、HMD セット1000のゲーム情報332である。ユーザ情報233は、各ユーザ端末100のユーザ情報133、および、ユーザ情報333に含まれる、プレイヤのユーザ情報である。ユーザ情報333は、各ユーザ端末100のユーザ情報133、および、プレイヤのユーザ情報である。
ユーザリスト234およびユーザリスト421は、ゲームに参加したユーザのリストである。ユーザリスト234およびユーザリスト421は、プレイヤによる直近のゲームプレイにおいて参加したユーザのリストの他、該ゲームプレイ以前の各ゲームプレイにおいて参加したユーザのリストを含んでいてもよい。モーションリスト422は、予め作成されている複数のモーションデータのリストである。モーションリスト422は、例えば、各モーションを識別する情報(例えば、モーション名)のそれぞれに、モーションデータが対応付けられたリストである。配信プログラム423は、ユーザ端末100にて動画を再生するための動作指図データの、ユーザ端末100への配信を実現するためのプログラムである。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム231を実行することにより、サーバ200を統括的に制御する。例えば制御部210は、ユーザ端末100、H MDセット1000、および配信端末400の間の各種情報の送受信を仲介する。
制御部210は、ゲームプログラム231の記述に応じて、通信仲介部211、ログ生成部212、リスト生成部213として機能する。制御部210は、ゲームプレイおよび動作指図データの配信に係る各種情報の送受信の仲介、並びに、ゲームの進行の支援のために、図示しないその他の機能ブロックとしても機能することができる。
通信仲介部211は、ユーザ端末100、HMDセット1000、および配信端末400の間の各種情報の送受信を仲介する。例えば、通信仲介部211は、HMDセット1000から受信したゲーム進行情報をユーザ端末100へ送信する。ゲーム進行情報は、プレイヤによって操作されるキャラクタの動き、該キャラクタのパラメータ、該キャラクタが所持しているアイテムや武器、敵キャラクタなどの情報などを示すデータが含まれる。サーバ200は、ゲーム進行情報を、ゲームに参加している全てのユーザのユーザ端末100へ送信する。換言すれば、サーバ200は、共通のゲーム進行情報をゲームに参加している全てのユーザのユーザ端末100へ送信する。これにより、ゲームに参加している全てのユーザのユーザ端末100それぞれにおいて、HMDセット1000と同様にゲームが進行する。
また、例えば、通信仲介部211は、ユーザ端末100のいずれかから受信した、プレイヤによるゲームの進行を支援するための情報を、その他のユーザ端末100、および、HMDセット1000へ送信する。該情報は、一例として、プレイヤがゲームを有利に進行するためのアイテムであって、プレイヤ(キャラクタ)に提供されるアイテムを示すアイテム情報であってもよい。アイテム情報は、アイテムを提供したユーザを示す情報(ユーザ名、ユーザIDなど)を含む。また、通信仲介部211は、配信端末400からユーザ端末100への動作指図データの配信を仲介してもよい。
ログ生成部212は、HMDセット1000から受信するゲーム進行情報に基づいて、ゲーム進行のログを生成する。リスト生成部213は、ゲームプレイの終了後にユーザリスト234を生成する。詳細については後述するが、ユーザリスト234における各ユーザには、そのユーザが行ったプレイヤへの支援の内容を示すタグが関連付けられている。リスト生成部213は、ログ生成部212が生成したゲーム進行のログに基づいて、タグを生成し、該当するユーザに関連付ける。なお、リスト生成部213は、ゲームの運営者などがパーソナルコンピュータなどの端末装置を用いて入力した、各ユーザが行ったプレイヤへの支援の内容を、タグとして、該当するユーザに関連付けてもよい。これにより、各ユーザが行った支援の内容がより詳細なものとなる。なお、ユーザ端末100は、ユーザがゲームに参加する際、ユーザの操作に基づいて、ユーザを示す情報をサーバ200へ送信する。例えば、ユーザ端末100は、ユーザが入力したユーザIDをサーバ200へ送信する。つまり、サーバ200は、ゲームに参加している全てのユーザについて、各ユーザを示す情報を保持している。リスト生成部213は、該情報を用いて、ユーザリスト234を生成すればよい。
(HMDセット1000の機能的構成)
制御部310は、記憶部320に格納されたゲームプログラム331を実行することにより、HMDセット1000を統括的に制御する。例えば、制御部310は、ゲームプログラム331、および、プレイヤの操作に従って、ゲームを進行させる。また、制御部310は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。制御部310は、情報の送受信を、サーバ200を介さずにユーザ端末100と直接行ってもよい。
制御部310は、ゲームプログラム331の記述に応じて、操作受付部311、表示制御部312、UI制御部313、アニメーション生成部314、ゲーム進行部315、仮想空間制御部316、および反応処理部317として機能する。制御部310は、実行されるゲームの性質に応じて、該ゲームに登場するキャラクタの制御などのために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部311は、プレイヤの入力操作を検知し、受け付ける。操作受付部311は、HMD500、モーションセンサ520、コントローラ540などから入力された信号を受け付け、いかなる入力操作がなされたかを判別し、その結果を制御部310の各要素に出力する。
UI制御部313は、モニタ51、ディスプレイ530などに表示させるユーザインターフェース(以下、UI)画像を制御する。UI画像は、プレイヤが、ゲームの進行上必要な入力をHMDセット1000に対して行うためのツール、または、ゲームの進行中に出力される情報をHMDセット1000から得るためのツールである。UI画像は、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
アニメーション生成部314は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。例えば、アニメーション生成部314は、オブジェクト(例えば、プレイヤのアバターオブジェクト)がまるでそこにいるかのように動いたり、口を動かしたり、表情を変えたりする様子を表現したアニメーション等を生成してもよい。
ゲーム進行部315は、ゲームプログラム331、プレイヤによる入力操作、および、該入力操作に応じたアバターオブジェクトの動作などに基づいて、ゲームを進行する。例えば、ゲーム進行部315は、アバターオブジェクトが所定の動作を行った場合に、所定のゲーム処理を行う。また、例えば、ゲーム進行部315は、ユーザ端末100におけるユーザの操作を表す情報を受信し、当該ユーザの操作に基づいてゲーム処理を行ってもよい。また、ゲーム進行部315は、ゲームの進行に従ってゲーム進行情報を生成し、サーバ200へ送信する。該ゲーム進行情報は、サーバ200を介してユーザ端末100へ送信される。これにより、HMDセット1000におけるゲームの進行が、ユーザ端末100において共有される。換言すれば、HMDセット1000におけるゲームの進行と、ユーザ端末100におけるゲームの進行とが同期する。
仮想空間制御部316は、ゲームの進行に応じて、プレイヤに提供される仮想空間に関する各種の制御を行う。一例として、仮想空間制御部316は、各種オブジェクトを生成し、仮想空間に配置する。また、仮想空間制御部316は、仮想カメラを仮想空間に配置する。また、仮想空間制御部316は、ゲームの進行に応じて、仮想空間に配置した各種オブジェクトを動作させる。また、仮想空間制御部316は、ゲームの進行に応じて、仮想空間に配置した仮想カメラの位置、傾きを制御する。
表示制御部312は、モニタ51、ディスプレイ530に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部312は、仮想空間に配置された仮想カメラからの視界に基づく画像を、ゲーム画面として、モニタ51、ディスプレイ530に表示してもよい。また、表示制御部312は、アニメーション生成部314によって生成されたアニメーションを該ゲーム画面に含めてもよい。また、表示制御部312は、UI制御部313によって制御される上述のUI画像を、該ゲーム画面に重畳して描画してもよい。
反応処理部317は、ユーザ端末100のユーザによる、プレイヤのゲームプレイに対する反応についてフィードバックを受け付けて、これを、プレイヤに対して出力する。本実施形態では、例えば、ユーザ端末100は、ユーザの入力操作に基づいて、アバターオブジェクトに宛てたコメント(メッセージ)を作成することができる。反応処理部317は、該コメントのコメントデータを受け付けて、これを出力する。反応処理部317は、ユーザのコメントに対応するテキストデータを、モニタ51、ディスプレイ530に表示してもよいし、ユーザのコメントに対応する音声データを、図示しないスピーカから出力してもよい。前者の場合、反応処理部317は、上記テキストデータに対応する画像(すなわち、コメントの内容を含む画像)を、ゲーム画面に重畳して描画してもよい。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131、および、ユーザの操作に従って、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。制御部110は、情報の送受信を、サーバ200を介さずにHMDセット1000 と直接行ってもよい。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、UI制御部113、アニメーション生成部114、ゲーム進行部115、仮想空間制御部116、および動画再生部117として機能する。制御部110は、実行されるゲームの性質に応じて、ゲームの進行のために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
UI制御部113は、ユーザの入力操作、および、受信したゲーム進行情報の少なくとも何れかに応じて、UIを構築するために表示部152に表示させるUI画像を制御する。UI画像は、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UI画像は、これには限定されないが、例えば、アイコン、ボタン、リスト、メニュー画面などである。
アニメーション生成部114は、各種オブジェクトの制御態様に基づいて、各種オブジェクトのモーションを示すアニメーションを生成する。
ゲーム進行部115は、ゲームプログラム131、受信したゲーム進行情報、および、ユーザによる入力操作などに基づいて、ゲームを進行する。ゲーム進行部115は、ユーザによる入力操作により、所定のゲーム処理を行った場合、該ゲーム処理に関する情報を、サーバ200を介してHMDセット1000へ送信する。これにより、該所定のゲーム処理が、HMDセット1000において共有される。換言すれば、HMDセット1000 におけるゲームの進行と、ユーザ端末100におけるゲームの進行とが同期する。所定のゲーム処理とは、例えば、アバターオブジェクトにアイテムを提供する処理であり、この例の場合、ゲーム処理に関する情報は、上述したアイテム情報である。
仮想空間制御部116は、ゲームの進行に応じて、ユーザに提供される仮想空間に関する各種の制御を行う。一例として、仮想空間制御部116は、各種オブジェクトを生成し、仮想空間に配置する。また、仮想空間制御部116は、仮想カメラを仮想空間に配置する。また、仮想空間制御部116は、ゲームの進行、具体的には、受信したゲーム進行情報に応じて、仮想空間に配置した各種オブジェクトを動作させる。また、仮想空間制御部316は、ゲームの進行、具体的には、受信したゲーム進行情報に応じて、仮想空間に配置した仮想カメラの位置、傾きを制御する。
表示制御部112は、表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部112は、ユーザに提供される仮想空間に配置された仮想カメラからの視界に基づく画像を、ゲーム画面として、表示部152 に表示してもよい。また、表示制御部112は、アニメーション生成部114によって生成されたアニメーションを該ゲーム画面に含めてもよい。また、表示制御部112は、U I制御部113によって制御される上述のUI画像を、該ゲーム画面に重畳して描画してもよい。いずれにしても、表示部152に表示されるゲーム画面は、他のユーザ端末100、および、HMDセット1000にて表示されるゲーム画面と同様のゲーム画面である。
動画再生部117は、配信端末400から受信した動作指図データを解析(レンダリング)し、動画を再生する。
(配信端末400の機能的構成)
制御部410は、記憶部420に格納されたプログラム(不図示)を実行することにより、配信端末400を統括的に制御する。例えば、制御部410は、該プログラム、および、配信端末400のユーザ(本実施形態ではプレイヤ)の操作に従って、動作指図データを生成し、ユーザ端末100に配信する。また、制御部410は、必要に応じて、サーバ200と通信して、情報の送受信を行う。制御部410は、情報の送受信を、サーバ200を介さずにユーザ端末100と直接行ってもよい。
制御部410は、プログラムの記述に応じて、通信制御部411、表示制御部412、操作受付部413、音声受付部414、モーション特定部415、および動作指図データ生成部416として機能する。制御部410は、動作指図データの生成および配信のために、図示しないその他の機能ブロックとしても機能することができる。
通信制御部411は、サーバ200、または、サーバ200を介したユーザ端末100 との情報の送受信を制御する。通信制御部411は、一例として、サーバ200からユーザリスト421を受信する。また、通信制御部411は、一例として、動作指図データをユーザ端末100へ送信する。
表示制御部412は、表示部452に対して、各要素によって実行された処理結果が反映された各種画面を出力する。表示制御部412は、一例として、受信したユーザリスト234を含む画面を表示する。また、表示制御部412は、一例として、配信する動作指図データに含まれる、アバターオブジェクトを動作させるためのモーションデータを、プレイヤに選択させるためのモーションリスト422を含む画面を表示する。
操作受付部413は、入力部151に対するプレイヤの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン45およびその他の入出力IF44を介したコンソールに対してプレイヤが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部410の各要素に出力する。
例えば、操作受付部413は、入力部451に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部413は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部413は、連続して検知されていた入力が途切れると、タッチスクリーン45から接触入力が解除されたことを検知する。
音声受付部414は、配信端末400の周囲で発生した音声を受け付け、該音声の音声データを生成する。音声受付部414は、一例として、プレイヤが発話した音声を受け付け、該音声の音声データを生成する。
モーション特定部415は、プレイヤの入力操作に応じて、モーションリスト422から、プレイヤが選択したモーションデータを特定する。
動作指図データ生成部416は、動作指図データを生成する。一例として、動作指図データ生成部416は、生成された音声データと、特定されたモーションデータとを含む動作指図データを生成する。
なお、図6に示すHMDセット1000、サーバ200、およびユーザ端末100の機能、並びに、図7に示す配信端末400の機能は一例にすぎない。HMDセット1000、サーバ200、ユーザ端末100、および配信端末400の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。さらに、HMDセット1000、サーバ200、ユーザ端末100、および配信端末400以外のさらに別の装置をシステム1の構成要素とし、該別の装置にシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、HMDセット1000、サーバ200、ユーザ端末100、および配信端末400、並びに、それ以外の別の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<仮想空間の制御処理>
図8は、プレイヤに提供される仮想空間、および、ユーザ端末100のユーザに提供される仮想空間の制御処理の流れの一例を示すフローチャートである。図9は、ある実施の形態に従う、プレイヤに提供される仮想空間600A、および、プレイヤが視認する視界画像を示す図である。図10は、ある実施の形態に従う、ユーザ端末100のユーザに提供される仮想空間600B、および、ユーザが視認する視界画像を示す図である。なお以降、仮想空間600Aおよび600Bを区別する必要が無い場合、「仮想空間600」と記載する。
ステップS1において、プロセッサ30は、仮想空間制御部316として、図9に示す仮想空間600Aを規定する。プロセッサ30は、仮想空間データ(不図示)を用いて、仮想空間600Aを規定する。仮想空間データは、ゲームプレイ端末300に記憶されていてもよいし、プロセッサ30が、ゲームプログラム331に基づいて生成してもよいし、プロセッサ30が、サーバ200などの外部の装置から取得してもよい。
仮想空間600は、一例として、中心として定義された点の360度方向の全体を覆う全天球状の構造を有する。図9および図10では、説明を複雑にしないために、仮想空間600のうちの上半分の天球が例示されている。
ステップS2において、プロセッサ30は、仮想空間制御部316として、仮想空間600Aに、アバターオブジェクト610(キャラクタ)を配置する。アバターオブジェクト610は、プレイヤに関連付けられたアバターオブジェクトであり、プレイヤの入力操作に従って動作する。
ステップS3において、プロセッサ30は、仮想空間制御部316として、仮想空間600Aに、その他のオブジェクトを配置する。図9の例では、プロセッサ30は、オブジェクト631~634を配置する。その他のオブジェクトは、例えば、ゲームプログラム331に従って動作するキャラクタオブジェクト(いわゆるノンプレイヤキャラクタ、N PC)、仮想手などの操作オブジェクト、ゲームの進行に従って配置される動物、植物、人工物、自然物などを模したオブジェクトなどを含み得る。
ステップS4において、プロセッサ30は、仮想空間制御部316として、仮想空間600Aに仮想カメラ620Aを配置する。プロセッサ30は、一例として、仮想カメラ620Aを、アバターオブジェクト610の頭部の位置に配置する。
ステップS5において、プロセッサ30は、視界画像650をモニタ51およびディスプレイ530に表示する。プロセッサ30は、仮想カメラ620Aの初期の位置と傾きとに応じて、仮想空間600Aにおける仮想カメラ620Aからの視界である視界領域640Aを定義する。そして、プロセッサ30は、視界領域640Aに対応する視界画像650を定義する。プロセッサ30は、視界画像650をモニタ51およびディスプレイ530に出力することによって、視界画像650をHMD500およびディスプレイ530に表示させる。
図9の例において、図9(A)に示すように、オブジェクト634の一部が視界領域640Aに含まれているため、視界画像650は、図9(B)に示すようにオブジェクト634の一部を含む。
ステップS6において、プロセッサ30は、初期配置情報を、サーバ200を介してユーザ端末100へ送信する。初期配置情報とは、仮想空間600Aにおける各種オブジェクトの初期の配置位置を示す情報である。図9の例において、初期配置情報は、アバターオブジェクト610、および、オブジェクト631~634の初期の配置位置の情報を含む。初期配置情報は、ゲーム進行情報の1つであると表現することもできる。
ステップS7において、プロセッサ30は、仮想空間制御部316として、HMD500の動きに応じて仮想カメラ620Aを制御する。具体的には、プロセッサ30は、HM D500の動き、すなわち、プレイヤの頭部の姿勢に応じて、仮想カメラ620Aの向きおよび傾きを制御する。後述のように、プロセッサ30は、プレイヤが頭部を動かす(頭部の姿勢を変更する)と、この動きに合わせて、アバターオブジェクト610の頭部を動かす。プロセッサ30は、例えば、アバターオブジェクト610の視線の方向と、仮想カメラ620Aの視線の方向とが一致するように、仮想カメラ620Aの向きおよび傾きを制御する。ステップS8において、プロセッサ30は、仮想カメラ620Aの向きおよび傾きが変更されたことに応じて、視界画像650を更新する。
ステップS9において、プロセッサ30は、仮想空間制御部316として、プレイヤの動きに応じて、アバターオブジェクト610を動かす。一例として、プロセッサ30は、プレイヤが現実空間で移動したことに応じて、仮想空間600Aでアバターオブジェクト610を移動させる。また、プロセッサ30は、プレイヤが現実空間で頭部を動かしたことに応じて、仮想空間600Aでアバターオブジェクト610の頭部を動かす。
ステップS10において、プロセッサ30は、仮想空間制御部316として、仮想カメラ620Aを、アバターオブジェクト610に追随するように移動させる。つまり、仮想カメラ620Aは、アバターオブジェクト610が移動しても、常にアバターオブジェクト610の頭部の位置にある。
プロセッサ30は、仮想カメラ620Aの移動に応じて、視界画像650を更新する。つまり、プロセッサ30は、プレイヤの頭部の姿勢と、仮想空間600Aにおける仮想カメラ620Aの位置とに応じて、視界領域640Aを更新する。その結果、視界画像650が更新される。
ステップS11において、プロセッサ30は、アバターオブジェクト610の動作指図データを、サーバ200を介してユーザ端末100へ送信する。ここでの動作指図データは、仮想体験中(例えば、ゲームプレイ中)において、プレイヤの動作を取り込んだモーションデータ、プレイヤが発話した音声の音声データ、コントローラ540に対する入力操作の内容を示す操作データの少なくとも何れかを含む。プレイヤがゲームをプレイしている場合、動作指図データは、例えば、ゲーム進行情報としてユーザ端末100へ送信される。
ステップS7~S11の処理は、プレイヤがゲームをプレイしている間、継続して繰り返し実行される。
ステップS21において、ユーザ3のユーザ端末100のプロセッサ10は、仮想空間制御部116として、図10に示す仮想空間600Bを規定する。プロセッサ10は、仮想空間データ(不図示)を用いて、仮想空間600Bを規定する。仮想空間データは、ユーザ端末100に記憶されていてもよいし、プロセッサ10が、ゲームプログラム131 に基づいて生成してもよいし、プロセッサ10が、サーバ200などの外部の装置から取得してもよい。
ステップS22において、プロセッサ10は、初期配置情報を受信する。ステップS23において、プロセッサ10は、仮想空間制御部116として、初期配置情報に応じて各種オブジェクトを仮想空間600Bに配置する。図10の例の場合、各種オブジェクトは、アバターオブジェクト610、および、オブジェクト631~634である。
ステップS24において、プロセッサ10は、仮想空間制御部116として、仮想空間600Bに仮想カメラ620Bを配置する。プロセッサ10は、一例として、仮想カメラ620Bを、図10(A)に示す位置に配置する。
ステップS25において、プロセッサ10は、視界画像660を表示部152に表示する。プロセッサ10は、仮想カメラ620Bの初期の位置と傾きとに応じて、仮想空間600Bにおける仮想カメラ620Bからの視界である視界領域640Bを定義する。そして、プロセッサ10は、視界領域640Bに対応する視界画像660を定義する。プロセッサ10は、視界画像660を表示部152に出力することによって、視界画像660を表示部152に表示させる。
図10の例において、図10(A)に示すように、アバターオブジェクト610およびオブジェクト631が視界領域640Bに含まれているため、視界画像660は、図10(B)に示すようにアバターオブジェクト610およびオブジェクト631を含む。
ステップS26において、プロセッサ10は、動作指図データを受信する。ステップS27において、プロセッサ10は、仮想空間制御部116として、動作指図データに応じて、仮想空間600Bでアバターオブジェクト610を動かす。換言すれば、プロセッサ10は、リアルタイムレンダリングにより、アバターオブジェクト610が動作している映像を再生する。
ステップS28において、プロセッサ10は、仮想空間制御部116として、操作受付部111として受け付けたユーザの操作に応じて仮想カメラ620Bを制御する。ステップS29において、プロセッサ10は、仮想カメラ620Bの仮想空間600Bにおける位置、仮想カメラ620Bの向きおよび傾きが変更されたことに応じて、視界画像660 を更新する。なお、ステップS28において、プロセッサ10は、アバターオブジェクト610の動き、例えば、アバターオブジェクト610の移動や、向きの変更に応じて仮想カメラ620Bを自動的に制御してもよい。例えば、プロセッサ10は、常にアバターオブジェクト610を正面から撮影するように自動的に仮想カメラ620Bを移動させたり、向きおよび傾きを変更したりしてもよい。また、一例として、プロセッサ10は、アバターオブジェクト610の動きに応じて、常にアバターオブジェクト610を後方から撮影するように自動的に仮想カメラ620Bを移動させたり、向きおよび傾きを変更したりしてもよい。
このように、仮想空間600Aにおいて、アバターオブジェクト610は、プレイヤの動きに応じて動作する。この動作を示す動作指図データは、ユーザ端末100に送信される。仮想空間600Bにおいて、アバターオブジェクト610は、受信した動作指図データに応じて動作する。これにより、仮想空間600Aと仮想空間600Bとにおいて、アバターオブジェクト610は同様の動作を行う。換言すれば、ユーザ3は、ユーザ端末100を用いて、プレイヤの動作に応じたアバターオブジェクト610の動作を視認することができる。
<ゲーム概要>
図11は、ユーザ端末100において表示される視界画像の他の例を示す図である。具体的には、プレイヤがプレイしている、システム1が実行するゲーム(本ゲーム)のゲーム画面の一例を示す図である。
本ゲームは、一例として、銃、ナイフなどの武器を操作するアバターオブジェクト610と、NPCである複数の敵オブジェクト671とを仮想空間600に登場させ、アバターオブジェクト610に敵オブジェクト671との対戦を行わせるゲームである。アバターオブジェクト610の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト671の残数等の各種ゲームパラメータは、ゲームの進行に応じて更新される。
本ゲームには、複数のステージが用意されており、プレイヤは、各ステージに関連付けられている所定の達成条件を成立させることにより、当該ステージをクリアすることができる。所定の達成条件としては、例えば、出現する敵オブジェクト671をすべて倒すことや、出現する敵オブジェクト671のうちボスオブジェクトを倒すこと、所定のアイテムを獲得すること、所定位置に到達することなどにより成立する条件を含むものであってもよい。該達成条件は、ゲームプログラム131内で定義されている。なお、本ゲームでは、ゲームの内容に即し、達成条件が成立された場合にプレイヤはステージをクリア、換言すれば、アバターオブジェクト610の敵オブジェクト671への勝利(アバターオブジェクト610と敵オブジェクト671との間の勝敗)が決定される。これに対し、例えば、システム1で実行されるゲームがレースゲーム等である場合、ゴールに到達するという条件が成立した場合に、アバターオブジェクト610の順位が決定される。
本ゲームでは、HMDセット1000及び複数のユーザ端末100の間で仮想空間を共有するために、ゲーム進行情報が、所定時間毎に複数のユーザ端末100にライブ配信される。この結果、ゲームを視聴中のユーザ端末100のタッチスクリーン15には、ユーザ端末100に対応する仮想カメラ620Bによって規定される視界領域の視界画像が表示される。また、視界画像の右上段および左上段には、アバターオブジェクト610の体力、使用可能なマガジンの数、銃の残弾数、敵オブジェクト671の残数等を表すパラメータ画像が重畳的に表示される。この視界画像は、ゲーム画面と表現することもできる。
ゲーム進行情報は、上述したとおり、プレイヤの動作を取り込んだモーションデータ、プレイヤが発話した音声の音声データ、コントローラ540に対する入力操作の内容を示す操作データを含む。これらのデータはすなわち、アバターオブジェクト610の位置、姿勢、向きなどを特定するための情報、敵オブジェクト671の位置、姿勢、向きなどを特定する情報、その他オブジェクト(例えば、障害物オブジェクト672、673)の位置などを特定する情報である。プロセッサ10は、ゲーム進行情報を解析(レンダリング)することにより、各オブジェクトの位置、姿勢、向きなどを特定する。
ゲーム情報132は、アバターオブジェクト610、敵オブジェクト671、障害物オブジェクト672、673等の各種オブジェクトのデータを含む。プロセッサ10は、該データと、ゲーム進行情報の解析結果とを用いて、各オブジェクトの位置、姿勢、向きなどを更新する。これにより、ゲームが進行し、仮想空間600Bにおける各オブジェクトは、仮想空間600Aにおける各オブジェクトと同様に動く。具体的には、仮想空間600Bにおいて、アバターオブジェクト610を含む各オブジェクトは、ユーザ端末100 に対するユーザからの操作の有無に関わらず、ゲーム進行情報に基づいて動作する。
ユーザ端末100のタッチスクリーン15においては、一例として、UI画像701および702が、視界画像に重畳して表示される。UI画像701は、アバターオブジェクト610を支援するためのアイテム投入操作をユーザ3から受け付けるUI画像711を、タッチスクリーン15に表示するための操作を受け付けるUI画像である。UI画像702は、アバターオブジェクト610(換言すれば、プレイヤ4)に対するコメントを入力し、送信するための操作をユーザ3から受け付けるUI画像(後述)を、タッチスクリーン15に表示するための操作を受け付けるUI画像である。UI画像701および702が受け付ける操作は、例えば、UI画像701および702をタップする操作であってもよい。
UI画像701がタップされると、UI画像711が、視界画像に重畳して表示される。UI画像711は、例えば、マガジンのアイコンが描かれたUI画像711A、救急箱のアイコンが描かれたUI画像711B、三角コーンのアイコンが描かれたUI画像711C、バリケードのアイコンが描かれたUI画像711Dを含む。アイテム投入操作は、例えば、いずれかのUI画像をタップする操作に相当する。
一例として、UI画像711Aがタップされると、アバターオブジェクト610が使用する銃の残弾数が増加する。UI画像711Bがタップされると、アバターオブジェクト610の体力が回復する。UI画像711Cおよび711Dがタップされると、敵オブジェクト671の移動を妨害する障害物オブジェクト672、673が仮想空間に配置される。障害物オブジェクト672、673は、一方が他方に比べて、敵オブジェクト671 の移動をより妨害するものであってもよい。
プロセッサ10は、アイテム投入操作が行われたことを示すアイテム投入情報を、サーバ200へ送信する。アイテム投入情報には、アイテム投入操作により指定されたアイテムの種別を特定するための情報が少なくとも含まれる。アイテム投入情報には、アイテムが配置される位置を示す情報など、アイテムに関するその他の情報が含まれていてもよい。アイテム投入情報は、サーバ200を介して、他のユーザ端末100、および、HMD セット1000へ送信される。
図12は、ユーザ端末100において表示される視界画像の他の例を示す図である。具体的には、本ゲームのゲーム画面の一例を示す図であり、ゲームプレイ中のプレイヤとユーザ端末100とのコミュニケーションについて説明するための図である。
図12(A)の例において、ユーザ端末100は、アバターオブジェクト610に発話691を実行させている。具体的には、ユーザ端末100は、ゲーム進行情報に含まれる音声データに従って、アバターオブジェクト610に発話691を実行させている。発話691の内容は、プレイヤ4が発話した「弾が無いよー!」というものである。すなわち、発話691の内容は、マガジンが0、銃に装填した銃弾が1となったことにより、敵オブジェクト671を攻撃する手段を失いそうであることを各ユーザに伝えるものである。
なお、図12(A)では、アバターオブジェクト610の発話を視覚的に示すため吹き出しを用いているが、実際は、ユーザ端末100のスピーカから音声が出力される。なお、音声出力とともに、図12(A)に示す吹き出し(すなわち、音声の内容のテキストを含む吹き出し)が視界画像中に表示されてもよい。これは、後述する発話692でも同様である。
UI画像702に対するタップ操作を受け付けると、ユーザ端末100は、図12(B)に示すように、UI画像705および706(メッセージUI)を視界画像に重畳して表示する。UI画像705は、アバターオブジェクト610(換言すれば、プレイヤ)に対するコメントを表示するUI画像である。UI画像706は、入力されたコメントを送信するためコメント送信操作をユーザ3から受け付けるUI画像である。
ユーザ端末100は、一例として、UI画像705へのタップ操作を受け付けると、キーボードを模したUI画像(不図示、以下、単に「キーボード」と記載)をタッチスクリーン15に表示させる。ユーザ端末100は、キーボードに対するユーザの入力操作に応じたテキストを、UI画像705に表示させる。図12(B)の例では、「マガジン送るね」というテキストがUI画像705に表示されている。
ユーザ端末100は、テキスト入力後に、一例として、UI画像706へのタップ操作を受け付けると、入力した内容(テキストの内容)を示す情報と、ユーザを示す情報とを含むコメント情報をサーバ200へ送信する。コメント情報は、サーバ200を介して、他のユーザ端末100、および、HMDセット1000へ送信される。
UI画像703Aは、コメントを送信したユーザのユーザ名を示すUI画像であり、UI画像704Aは、該ユーザが送信したコメントの内容を示すUI画像である。図12(B)の例では、ユーザ名が「BBBBB」であるユーザが、自身のユーザ端末100を用い、「危ない!」という内容のコメント情報を送信したことにより、UI画像703AおよびUI画像704Aが表示されている。UI画像703AおよびUI画像704Aは、本ゲームに参加しているすべてのユーザ端末100のタッチスクリーン15、および、H MD500のモニタ51に表示される。なお、UI画像703Aおよび704Aは、1つのUI画像であってもよい。すなわち、1つのUI画像にユーザ名とコメントの内容とが含まれていてもよい。
図12(C)の例では、図12に示すユーザ端末100のユーザである、「AAAAA」というユーザ名のユーザが、上述したとおりコメントを入力し、送信したことにより、タッチスクリーン15にUI画像703Bおよび704Bが表示されている。UI画像703Bにはユーザ名「AAAAA」が含まれており、UI画像704Bには、図12(B)の例において入力された「マガジン送るね!」とのコメントが含まれている。
また、図12(C)の例は、ユーザ「AAAAA」がさらに、UI画像701へのタップ操作を入力し、UI画像711をタッチスクリーン15に表示させ、UI画像711A へのタップ操作を入力した後の視界画像611である。つまり、ユーザ「AAAAA」のユーザ端末100から、他のユーザ端末100およびHMDセット1000に、マガジンを示すアイテム投入情報が送信された結果、ユーザ端末100およびHMDセット1000は、演出オブジェクト674(後述)を仮想空間600に配置している。一例として、ユーザ端末100およびHMDセット1000は、アイテム投入情報にて示された経過時間が経過した後に、演出オブジェクト674に関する演出を実行し、アイテムオブジェクトの効果を発動させる処理を実行する。
図12(D)の例では、アイテムオブジェクトの効果を発動させる処理の実行により、マガジンの数が0から1に増加している。この結果、プレイヤは、ユーザ「AAAAA」に対して、「ありがとう!」と発話し、該発話の音声データが、各ユーザ端末100に送信される。これにより、各ユーザ端末100は、アバターオブジェクト610の発話692として、「ありがとう!」という音声を出力する。
以上のように、本ゲームにおいては、プレイヤの発話に基づくアバターオブジェクト610の発話音声の出力と、各ユーザによるコメントの入力とにより、ユーザとアバターオブジェクト610とのコミュニケーションが実現される。
(ゲームプレイ端末300におけるゲーム進行処理)
図13は、ゲームプレイ端末300で実行されるゲーム進行処理の流れの一例を示すフローチャートである。
ステップS31において、プロセッサ30は、ゲーム進行部315として、ゲームプログラム331とプレイヤの動きとに基づいてゲームを進行させる。ステップS32において、プロセッサ30は、ゲーム進行情報を生成し、ユーザ端末100へ配信する。具体的には、プロセッサ30は、生成したゲーム進行情報を、サーバ200を介して、各ユーザ端末100へ送信する。
ステップS33において、プロセッサ30は、アイテム投入情報を受信すると(S33 でYES)、ステップS34において、アイテム投入情報に基づいて、アイテムオブジェクトを仮想空間600Aに配置する。一例として、プロセッサ30は、アイテムオブジェクトの配置の前に、演出オブジェクト674を仮想空間600Aに配置する(図11(C)参照)。演出オブジェクト674は、例えば、プレゼント箱を模したオブジェクトであってもよい。プロセッサ30は、一例として、アイテム投入情報にて示された経過時間が経過した後に、演出オブジェクト674に関する演出を実行してもよい。該演出は、例えば、プレゼント箱の蓋が開くアニメーションであってもよい。プロセッサ30は、該アニメーションの実行の後、アイテムオブジェクトの効果を発動させる処理を実行する。例えば、図11(D)の例では、障害物オブジェクト673を配置する。
プロセッサ30は、アニメーションの実行の後、タップ操作されたUI画像に対応するアイテムオブジェクトを仮想空間600Aに配置してもよい。例えば、UI画像711A に対してタップ操作が行われた場合、プロセッサ30は、アニメーションの実行の後、マガジンを示すマガジンオブジェクトを仮想空間600Aに配置する。また、UI画像711Bに対してタップ操作が行われた場合、プロセッサ30は、アニメーションの実行の後、救急箱を示す救急箱オブジェクトを仮想空間600Aに配置する。プロセッサ30は、例えば、マガジンオブジェクトまたは救急箱オブジェクトの位置に、アバターオブジェクト610が移動した場合に、マガジンオブジェクトまたは救急箱オブジェクトの効果を発動させる処理を実行してもよい。
プロセッサ30は、ゲームが終了するまで、ステップS31~S34の処理を継続し、繰り返す。ゲームが終了した場合、例えば、プレイヤがゲームを終了するための所定の入力操作を入力した場合(ステップS35でYES)、図13に示す処理は終了する。
(ユーザ端末100におけるゲーム進行処理)
図14は、ユーザ端末100で実行されるゲーム進行処理の流れの一例を示すフローチャートである。
ステップS41において、プロセッサ10は、ゲーム進行情報を受信する。ステップS42において、プロセッサ10は、ゲーム進行部115として、ゲーム進行情報に基づいてゲームを進行させる。
ステップS43において、プロセッサ10が、ユーザ3によるアイテム投入操作を受け付けると(ステップS43にてYES)、ステップS44において、プロセッサ10は、仮想通貨を消費し、演出オブジェクト674を仮想空間600Bに配置する。ここで、仮想通貨は、ゲームへの参加の前、あるいは、ゲームへの参加中に、ユーザ3がプロセッサ10に対し所定の操作を行うことにより購入(本ゲームに対して課金)されるものであってもよいし、所定の条件を満たした場合にユーザ3に付与されるものであってもよい。所定の条件とは、本ゲームにおけるクエストのクリア等、本ゲームへの参加が必要なものであってもよいし、アンケートに答える等、本ゲームへの参加が不要なものであってもよい。仮想通貨の金額(仮想通貨の所有量)は、一例として、ゲーム情報132としてユーザ端末100に記憶される。
ステップS45において、プロセッサ10は、アイテム投入情報をサーバ200へ送信する。アイテム投入情報は、サーバ200を介してゲームプレイ端末300へ送信される。
プロセッサ10は、演出オブジェクト674の配置後、所定時間が経過すると、アイテムオブジェクトを仮想空間600Aに配置する。図11の例では、障害物オブジェクト673を配置する。つまり、ユーザ3が、UI画像711Cへのタップ操作を入力することにより、所定量の仮想通貨が消費され、障害物オブジェクト673が配置される。
プロセッサ10は、ゲームが終了するまで、ステップS41~S45の処理を継続し、繰り返す。ゲームが終了した場合、例えば、プレイヤがゲームを終了するための所定の入力操作を行った場合や、ユーザ3が、ゲームから途中退席するための所定の入力操作を行った場合(ステップS46でYES)、図14に示す処理は終了する。
(サーバ200におけるゲーム進行処理)
図15は、サーバ200で実行されるゲーム進行処理の流れの一例を示すフローチャートである。
ステップS51において、プロセッサ20は、ゲーム進行情報をゲームプレイ端末300から受信する。ステップS52において、プロセッサ20は、ログ生成部212として、ゲーム進行のログ(以下、プレイログ)を更新する。なお、プレイログは、一例として、ゲームプレイ端末300から初期配置情報を受信したとき、プロセッサ20が生成する。
ステップS53において、プロセッサ20は、受信したゲーム進行情報を、各ユーザ端末100へ送信する。
ステップS54において、アイテム投入情報をいずれかのユーザ端末100から受信した場合(ステップS54にてYES)、ステップS55において、プロセッサ20は、ログ生成部212としてプレイログを更新する。ステップS56において、プロセッサ20 は、受信したアイテム投入情報をゲームプレイ端末300へ送信する。
プロセッサ20は、ゲームが終了するまで、ステップS51~S56の処理を継続し、繰り返す。ゲームが終了した場合、例えば、ゲームプレイ端末300から、ゲームが終了したことを示す情報を受信した場合(ステップS57でYES)、ステップS58において、プロセッサ20は、リスト生成部213として、プレイログからゲームに参加したユーザのリスト(ユーザリスト234)を生成する。プロセッサ20は、生成したユーザリスト234を、サーバ200に記憶する。
図16は、ユーザリスト234の一具体例を示す図である。「ユーザ」のカラムには、ゲームに参加した各ユーザを示す情報(例えば、ユーザ名)が格納されている。「タグ」のカラムには、各ユーザがプレイヤに対して行った支援に基づいて生成された情報(タグ)が格納されている。図16の例において、「タグ」のカラムに格納されたタグのうち、鍵括弧を有さないものは、プロセッサ20が自動生成した情報であり、鍵括弧を有するものは、ゲームの運営者が手動で入力した情報である。
図16の例において、ユーザ「AAAAA」には、マガジン、10F、ボス、「マガジンのプレゼントによりボスに勝利」という情報が対応付けられている。これは、例えば、10Fというステージでのボス戦において、ユーザ「AAAAA」がマガジンを投入し、その投入されたマガジンの銃弾でアバターオブジェクト610がボスに勝利したことを示している。
また、ユーザ「BBBBB」には、救急箱、3F、ザコ、「ゲームオーバー寸前で回復」という情報が対応付けられている、これは、例えば、3Fというステージのザコ敵との戦闘において、ユーザ「BBBBB」が救急箱を投入し、その結果、アバターオブジェクト610の体力が0になる(ゲームオーバーになる)寸前で体力が回復したことを示している。
また、ユーザ「CCCCC」には、バリケード、5F、ザコ、「バリケードでゾンビを二人足止め」という情報が対応付けられている。これは、例えば、5Fというステージのザコ敵との戦闘において、ユーザ「CCCCC」がバリケード(図11における障害物オブジェクト672)を投入し、その結果、二人のザコ敵の足止めに成功したことを示している。
図16の例では、各ユーザ3のユーザ名に対し、行った支援が1つ対応付けられているが、支援を複数回行なったユーザ3のユーザ名には、複数回の支援それぞれのタグが対応付けられる。ユーザリスト234において、該それぞれのタグは区別されていることが好ましい。これにより、ゲーム終了後に、配信端末400を用いてユーザリスト421を参照するプレイヤが、各支援の内容を正確に把握できる。
<動作指図データの配信>
(配信端末400における配信処理)
図17は、配信端末400で実行される配信処理の流れの一例を示すフローチャートである。図18は、配信端末400に表示される画面の一具体例を示す図である。図19は、配信端末に表示される画面の他の具体例を示す図である。
ステップS61において、プロセッサ40は、操作受付部413として、ゲームに参加したユーザのリスト(ユーザリスト234)を表示するための第1操作を受け付ける。図18(A)に示すダウンロード画面721は、ユーザリスト234をサーバ200からダウンロードし、表示部452に表示させるための画面である。ダウンロード画面721は、一例として、図17に示す配信処理を実行するアプリケーションの起動操作を、配信端末400に入力した直後に表示される画面である。
ダウンロード画面721は、一例として、UI画像722および723を含む。UI画像722は、ユーザリスト234をダウンロードするための操作、すなわち、上記第1操作を受け付ける。第1操作は、例えば、UI画像722をタップする操作であってもよい。UI画像723は、アプリケーションを終了するための操作を受け付ける。該操作は、例えば、UI画像723をタップする操作であってもよい。
UI画像722に対するタップ操作を受け付けると、ステップS62において、プロセッサ40は、通信制御部411として、ユーザリスト234をサーバ200から取得(受信)する。ステップS63において、プロセッサ40は、表示制御部412として、ユーザリスト234を表示部452に表示させる。具体的には、プロセッサ40は、ユーザリスト234に基づいて生成されたユーザリスト画面を、表示部452に表示させる。ユーザリスト画面は、一例として、図18(B)に示すユーザリスト画面731であってもよい。ユーザリスト画面731は、ユーザリスト234における各レコードに対応するレコード画像からなる。図18(B)の例では、レコード画像として、レコード画像732A~732Cを記載しているが、レコード画像の数は3つに限定されない。図18(B)の例において、ユーザリスト234におけるレコードの数が3より多い(すなわち、ゲームに参加したユーザの人数が3人より多い)場合、プレイヤは、例えば画面をスクロールする操作(例えば、ドラッグ操作やフリック操作)をタッチスクリーン45に入力することにより、他のレコード画像を表示部452に表示させることができる。
一例として、レコード画像732A~732Cは、それぞれ、ユーザ名733A~733C、タグ情報734A~734C、および、アイコン735A~735Cを含む。以降、レコード画像732A~732C、ユーザ名733A~733C、タグ情報734A~734C、および、アイコン735A~735Cについて、区別する必要が無い場合、それぞれ、「レコード画像732」、「ユーザ名733」、「タグ情報734」、「アイコン735」と記載する。
ユーザ名733は、ユーザリスト234において、「ユーザ」のカラムに格納されている、ゲームに参加した各ユーザを示す情報である。タグ情報734は、ユーザリスト234において、ゲームに参加した各ユーザを示す情報のそれぞれに対応付けられているタグを示す情報である。例えば、レコード画像732Aは、ユーザ名733Aとして、「AAAAA」を含む。このため、レコード画像732Aは、タグ情報734Aとして、ユーザリスト234において「AAAAA」に対応付けられている、『マガジン、10F、ボス、「マガジンのプレゼントによりボスに勝利」』を含む。アイコン735は、例えば、ユーザが事前に設定した画像である。
なお、プロセッサ40は、受信したユーザリストを配信端末400に記憶してもよい( 図7のユーザリスト421)。ダウンロード画面721は、ユーザリスト421を表示部452に表示するためのUI画像(不図示)を含んでいてもよい。この例において、該U I画像がタップされた場合、プロセッサ40は、ユーザリスト234のダウンロードを行わず、ユーザリスト421を読み出し、該ユーザリスト421からユーザリスト画面を生成し、表示部452に表示させる。
ステップS64において、プロセッサ40は、操作受付部413として、ユーザリスト画面731に含まれるユーザの何れかを選択するための第2操作を受け付ける。第2操作は、一例として、ユーザリスト画面731におけるレコード画像732の何れかをタップする操作であってもよい。図18(B)の例では、プレイヤは、レコード画像732Aへのタップ操作を入力している。すなわち、プレイヤは、動作指図データを配信するユーザとしてユーザ「AAAAA」を選択している。
レコード画像732に対するタップ操作を受け付けると、ステップS65において、プロセッサ40は、表示制御部412として、モーションリスト422を表示部452に表示させる。具体的には、プロセッサ40は、モーションリスト422に基づいて生成されたモーションリスト画面を、表示部452に表示させる。モーションリスト画面は、一例として、図19に示すモーションリスト画面741であってもよい。モーションリスト画面741は、モーションリスト422における各レコードに対応するレコード画像からなる。図19の例では、レコード画像として、レコード画像742A~742Cを記載しているが、レコード画像の数は3つに限定されない。図19の例において、モーションリスト422におけるレコードの数が4より多い場合、プレイヤは、例えば画面をスクロールする操作(例えば、ドラッグ操作やフリック操作)をタッチスクリーン45に入力することにより、他のレコード画像を表示部452に表示させることができる。
一例として、レコード画像742A~742Cは、それぞれ、モーション名743A~743C、モーション画像744A~744C、および、UI画像745A~745Cを含む。以降、レコード画像742A~742C、モーション名743A~743C、モーション画像744A~744C、および、UI画像745A~745Cについて、区別する必要が無い場合、それぞれ、「レコード画像7432」、「モーション名743」、「モーション画像744」、「UI画像745」と記載する。
モーション名743は、モーションリスト422に格納されているモーションを識別する情報である。モーション画像744は、モーションリスト422において、各モーション名に対応付けられているモーションデータから生成される画像である。プロセッサ40 は、一例として、各モーションデータにおける最初の姿勢をとるアバターオブジェクト610の画像を、モーション画像744とてレコード画像742に含める。モーション画像744は、プレイヤによる所定の操作(例えば、モーション画像744に対するタップ操作)を受け付けるUI画像であってもよい。プロセッサ40は、該所定の操作を受け付けた場合、モーションデータに基づいてアバターオブジェクト610が動作するモーション動画を再生してもよい。プロセッサ40は、モーション動画が終了すると、自動的にモーションリスト画面741を再表示してもよい。
なお、レコード画像742は、モーション画像744に代えて、例えば、「モーション再生」とのテキストを含むUI画像を含んでもよい。
ステップS66において、プロセッサ40は、操作受付部413として、モーションを選択する第3操作を受け付ける。第3操作は、一例として、UI画像745へのタップ操作であってもよい。つまり、UI画像745は、各レコード画像742に対応するモーションデータを選択する操作を受け付ける。第3操作を受け付けたことにより、プロセッサ40は、モーション特定部415として、プレイヤが選択したモーションデータを特定する。
ステップS67において、プロセッサ40は、表示制御部412および音声受付部414として、アバターオブジェクト610が、選択されたモーションデータに基づき動作するモーション動画を再生しながら、プレイヤの音声入力を受け付ける。
図20は、プレイヤ4による音声入力の一具体例を示す図である。図20に示すように、プレイヤ4は、モーション動画810Aを再生しながら、発話音声820Aを入力している。この発話音声820Aは、ユーザ名が「AAAAA」であるユーザ3(以下、ユーザ3A)宛の発話音声である。つまり、図20の例において、プレイヤ4は、ステップS64にて、ユーザ3A(第1ユーザ)を選択し、該ユーザ3A宛の動作指図データを作成している。なお、ユーザ3Aが使用するユーザ端末100は、ユーザ端末100Aであるとする。
発話音声820Aは、ユーザ3A宛の発話音声であるため、該ユーザ3Aがアバターオブジェクト610(換言すれば、プレイヤ4)に対して行った支援の内容に基づく発話音声となっている。具体的には、ユーザ3Aは、10Fというステージでのボス戦において、マガジンを投入し、その投入されたマガジンの銃弾でアバターオブジェクト610がボスに勝利している。このため、発話音声820Aは、「ボス戦でマガジンをプレゼントしてくれてありがとう!タイミングも完璧だったね!AAAAAさんのおかげでクリアできたよ!」という内容である。このように、発話音声は、ユーザ3がゲームにおいて行った支援の内容と、ユーザ3への感謝とを含むものであることが好ましい。
ある局面において、プレイヤ4は、音声入力を開始する前、すなわち、第3操作を配信端末400へ入力する前に、ユーザ3宛の発話内容を作成する。別の局面において、ユーザ3宛の発話内容は、プロセッサ40が自動生成してもよい。また、プロセッサ40は、第2操作によって選択されたユーザ3に対応付けられたタグを、モーション動画810A に重畳して表示させてもよい。
プロセッサ40は、受け付けた音声を音声データに変換する。ステップS68において、プロセッサ40は、動作指図データ生成部416として、該音声データと、選択されたモーションのモーションデータとを含む動作指図データを生成する。
ステップS69において、プロセッサ40は、通信制御部411として、生成した動作指図データを選択されたユーザ3(図20の例ではユーザ3A)のユーザ端末100(第1コンピュータ)に配信する。図21は、配信端末400に表示される画面のさらなる別の具体例を示す図である。プロセッサ40は、ステップS68の実行後、表示制御部412として、配信画面を表示部452に表示させる。配信画面は、一例として、図21(A)に示す配信画面751であってもよい。配信画面751は、UI画像752、および、モーション画像753Aを含む。また、配信画面751は、図21(A)に示すように、動作指図データの配信先のユーザを示す情報を含むものであってもよい。
UI画像752は、動作指図データを選択されたユーザ3へ配信するための操作を受け付ける。該操作は、例えば、UI画像752へのタップ操作であってもよい。モーション画像753Aは、生成した動作指図データに基づく動画、すなわち、ユーザ3A用に生成した動作指図データに基づく動画を再生するための操作を受け付けるUI画像である。該操作は、例えば、モーション画像753Aへのタップ操作であってもよい。なお、生成した動画を再生するための操作を受け付けるUI画像は、モーション画像753Aに限定されない。例えば、「動画再生」とのテキストを含むUI画像であってもよい。プロセッサ40は、動画が終了すると、自動的に配信画面751を再表示してもよい。
配信画面751は、音声入力の受け付けに戻るための操作を受け付けるUI画像をさらに含むことが好ましい。該操作は、例えば、該UI画像へのタップ操作であってもよい。配信画面751が該UI画像を含むことにより、プレイヤ4は、例えば、発話する内容を間違えた場合など、音声入力に失敗した場合に、再度音声入力を行うことができる。なお、該UI画像は、モーションデータの選択に戻るための操作を受け付けるUI画像であってもよい。
UI画像752に対するタップ操作を受け付けると、プロセッサ40は、ユーザ3Aを示す情報とともに、動作指図データをサーバ200へ送信する。サーバ200は、ユーザ3Aを示す情報に基づいて、動作指図データの送信先のユーザ端末100を特定し、該動作指図データを特定したユーザ端末100(すなわち、ユーザ端末100A)へ送信する。
プロセッサ40は、動作指図データの送信が終了した場合、一例として、図21(B) に示す配信完了画面761を表示部452に表示させてもよい。配信完了画面761は、一例として、UI画像762および763を含む。また、配信完了画面761は、図21(B)に示すように、動作指図データの送信が完了したことを示すテキストを含むものであってもよい。
UI画像762は、別のユーザ3宛の動作指図データの作成を開始するための操作を受け付ける。該操作は、例えば、UI画像762をタップする操作であってもよい。プロセッサ40は、該タップ操作を受け付けると、ユーザリスト画面を、表示部452に再度表示させる。すなわち、該タップ操作を受け付けた場合、配信処理は、ステップS63に戻る。このとき、プロセッサ40は、配信端末400に記憶したユーザリスト421に基づいて、ユーザリスト画面を生成し、表示部452に表示させてもよい。UI画像763は、アプリケーションを終了するための操作を受け付ける。該操作は、例えば、UI画像763をタップする操作であってもよい。該操作を受け付けると、配信処理は終了する。
図20、図21を参照して説明した例では、図21(C)に示すように、配信端末400は、ユーザ3A(ユーザ名が「AAAAA」のユーザ3)宛の動画の動作指図データを、ユーザ端末100Aのみに送信する。
図22は、プレイヤ4による音声入力の他の具体例を示す図である。図22に示すように、プレイヤ4は、モーション動画810Bを再生しながら、発話音声820Bを入力している。この発話音声820Bは、ユーザ名が「BBBBB」であるユーザ3(以下、ユーザ3B)宛の発話音声である。つまり、図22の例において、プレイヤ4は、ステップS64にて、ユーザ3Bに対応するレコード画像732Bへのタップ操作を入力し、ユーザ3B宛の動作指図データを作成している。なお、ユーザ3Bが使用するユーザ端末10
0は、ユーザ端末100Bであるとする。
発話音声820Bは、ユーザ3B宛の発話音声であるため、該ユーザ3Bがアバターオブジェクト610(換言すれば、プレイヤ4)に対して行った支援の内容に基づく発話音声となっている。具体的には、ユーザ3Bは、3Fというステージのザコ敵との戦闘において、ユーザ「BBBBB」が救急箱を投入し、その結果、アバターオブジェクト610 の体力が0になる(ゲームオーバーになる)寸前で体力が回復している。このため、発話音声820Bは、「BBBBBさんがプレゼントしてくれた救急箱のおかげで、3Fでゲームオーバーにならずにすんだよ。本当にありがとう!」という内容である。
図23は、配信端末400に表示される画面のさらなる別の具体例を示す図である。図23(A)に示す配信画面751は、UI画像752、および、モーション画像753B を含む。モーション画像753Bは、タップ操作を受け付けると、ユーザ3B用に生成した動作指図データに基づく動画を再生する。
UI画像752に対するタップ操作を受け付けると、プロセッサ40は、ユーザ3Bを示す情報とともに、動作指図データをサーバ200へ送信する。サーバ200は、ユーザ3Bを示す情報に基づいて、動作指図データの送信先のユーザ端末100を特定し、該動作指図データを特定したユーザ端末100(すなわち、ユーザ端末100B)へ送信する。
図22、図23を参照して説明した例では、図23(C)に示すように、配信端末400は、ユーザ3B(ユーザ名が「BBBBB」のユーザ3)宛の動画の動作指図データを、ユーザ端末100Bのみに送信する。
以上のように、動作指図データに含まれる音声データに基づく音声の内容は、ユーザ3 が直近のゲームへの参加において、プレイヤ4に対して行った支援の内容に基づくものとなる。該支援の内容はユーザ3ごとに異なるため、音声の内容は、ユーザ3ごとに異なる内容となる。つまり、ゲームの終了後、ゲームに参加したユーザ3の少なくとも一部のユーザ端末100には、それぞれ異なる内容の音声を含む動作指図データが送信される。
また、図22の例におけるアバターオブジェクト610のモーションは、図20の例におけるモーションと異なる。つまり、プレイヤ4は、ユーザ3B宛の動作指図データ生成において、ユーザ3A宛の動作指図データ生成時と異なるモーションデータを選択している。具体的には、プレイヤ4は、ステップS66において、レコード画像742Bに対応するモーションデータを選択する、UI画像745Bへのタップ操作を入力している。このように、プレイヤ4は、動作指図データに含まれるモーションデータを、ユーザ3毎に異ならせることができる。
そして、ユーザ3毎に異なる内容の音声データと、ユーザ3毎に選択されたモーションデータとを含む、ユーザ3毎の動作指図データは、各ユーザ3のユーザ端末100のみに送信される。換言すれば、ユーザ端末100毎にユニーク(一意)の動作指図データが、選択されたユーザ3のユーザ端末100の各々に送信される。
図24は、ゲームプレイ端末300からユーザ端末100へのゲーム進行情報の送信の概要を示す図である。ユーザ端末100における動画再生のための動作指図データが、ユーザ端末100毎にユニークである一方、図24に示すように、ゲーム実行中に、ゲームに参加している全てのユーザ3のユーザ端末100に送信されるゲーム進行情報は、各ユーザ端末100の間で共通である。すなわち、ゲーム進行情報に含まれる動作指図データもまた、各ユーザ端末100の間で共通である。このように、動画再生のための動作指図データと、ゲームを進行させるための動作指図データとは、ユーザ端末100間での同異
、および、送信先といった観点で異なるデータであると言える。
(ユーザ端末100における動画再生処理)
図25は、ユーザ端末100で実行される動画再生処理の流れの一例を示すフローチャートである。
ステップS71において、プロセッサ10は、動画再生部117として、動作指図データを受信する。ステップS72において、プロセッサ10は、動画再生部117として、動作指図データの受信をユーザ3へ通知する。プロセッサ10は、一例として、通知画像の表示部152への表示、スピーカ(不図示)からの通知音声の再生、LED(light-emitting diode)などで構成される点灯部(不図示)の点灯または点滅の少なくともいずれかにより、動作指図データの受信をユーザ3へ通知する。
ステップS73において、プロセッサ10は、操作受付部111として、動画を再生するための第1再生操作を受け付ける。第1再生操作は、一例として、通知画像をタップする操作であってもよい。ステップS74において、プロセッサ10は、動画再生部117として、動作指図データをレンダリングし、動画を再生する。プロセッサ10は、一例として、本ゲームをプレイするためのアプリケーションを起動し、動画を再生してもよいし、該アプリケーションとは別の、動画再生用のアプリケーションを起動し、動画を再生してもよい。以降、該動画を、「ありがとう動画」と記載する。
図26は、ありがとう動画の再生の一具体例を示す図である。具体的には、ユーザ3A のユーザ端末100における、ありがとう動画の再生の一例を示す図である。該ユーザ端末100において再生されたありがとう動画910Aにおいて、アバターオブジェクト610は、或るモーションを実行しながら、音声920Aを発話している。換言すれば、プロセッサ10は、或るモーションを実行するアバターオブジェクト610を含むありがとう動画910Aを再生しながら、音声920Aをスピーカ(不図示)から出力させている。
ありがとう動画910Aにおけるモーションは、ユーザ3A宛の動作指図データの生成において、プレイヤ4が選択したモーションデータに基づくものであり、音声920Aは、該動作指図データの生成において、プレイヤ4が入力した発話音声820Aから生成された音声データに基づくものである。つまり、音声920Aは、ユーザ3Aがゲームにおいて行った支援の内容と、該支援に対する感謝とを含む音声である。このように、ユーザ3Aは、第1再生操作の入力により、自身がゲームにおいて行った支援の内容と、該支援に対する感謝とを、アバターオブジェクト610が発話するありがとう動画を視聴することができる。
ユーザ端末100は、一例として、ありがとう動画910Aの再生が終了した後、少なくとも1つのUI画像をタッチスクリーン15に表示させてもよい。該UI画像は、例えば、ありがとう動画910Aをもう一度再生するための操作を受け付けるUI画像であってもよいし、別の画面に遷移するための操作を受け付けるUI画像であってもよいし、アプリケーションを終了するための操作を受け付けるUI画像であってもよい。
また、ユーザ端末100は、一例として、ありがとう動画910Aの再生中に、少なくとも1つのUI画像をタッチスクリーン15に表示させてもよい。該UI画像は、例えば、再生中のありがとう動画910Aを一時的に停止させたり、終了させたり、再生する場面を変更させたりする操作をそれぞれ受け付ける、複数のUI画像であってもよい。
なお、ありがとう動画910Aの再生中、および、ありがとう動画910Aの再生が狩猟した後に表示されるこれらのUI画像には、アバターオブジェクト610に対する返答を行うためのUI画像は含まれない。すなわち、本実施形態に係るありがとう動画910 Aにおいては、アバターオブジェクト610に対する返答を行うための手段が備えられていない。
図27は、ありがとう動画の再生の他の具体例を示す図である。具体的には、ユーザ3 Bのユーザ端末100における、ありがとう動画の再生の例を示す図である。該ユーザ端末100において再生されたありがとう動画910Bにおいて、アバターオブジェクト610は、或るモーションを実行しながら、音声920Bを発話している。換言すれば、プロセッサ10は、或るモーションを実行するアバターオブジェクト610を含むありがとう動画910Bを再生しながら、音声920Bをスピーカ(不図示)から出力させている。
ありがとう動画910Bにおけるモーションは、ユーザ3B宛の動作指図データの生成において、プレイヤ4が選択したモーションデータに基づくものであり、音声920Bは、該動作指図データの生成において、プレイヤ4が入力した発話音声820Bから生成された音声データに基づくものである。このため、図27の例において、アバターオブジェクト610が行っているモーションは、図26の例のモーションとは異なる。また、音声920Bは、ユーザ3Bがゲームにおいて行った支援の内容と、該支援に対する感謝とを含む音声である。このため、図27の例において、音声920Bの内容は、図26の例における音声920Aの内容とは異なる。
このように、ゲームの終了後に、ゲームに参加したユーザ3の少なくとも一部のユーザ端末100が受信するありがとう動画は、ユーザ3毎にアバターオブジェクト610の発話内容が異なる動画である。
なお、プロセッサ10は、次回のゲームへの参加を促す内容を含むUI画像930を、動画910に重畳させて表示させてもよい。UI画像930は、動作指図データとともに配信されてもよいし、ゲーム情報132として、ユーザ端末100が記憶していてもよい。
<ゲームの概要>
図28および図29を参照して、本実施形態に係るシステム1により提供可能なゲームは、例えばライブ対戦期間の前後に割り当てられたライブ配信期間に行うライブ配信パート(第1パート)と、ライブ対戦期間に行うライブ対戦パート(第2パート)とを含む。ライブ配信パートは、ユーザとアバターオブジェクト610との間において対話等のインタラクションを行うことが可能なパートである。ライブ配信パートにおいて演者4により操作されるアバターオブジェクト610は、以下においては第1アバターオブジェクト610Aとも称する。
一方、ライブ対戦パートは、ユーザにより操作されるオブジェクトと演者により操作されるアバターオブジェクト610とを含む複数のオブジェクトにより所定の対戦を行うことが可能なパートである。ライブ対戦パートにおいて演者4により操作されるアバターオブジェクト610は、以下においては第2アバターオブジェクト610Bとも称する。
ライブ配信パートにおいて操作される第1アバターオブジェクト610Aは、ライブ配信パート用の仮想空間であるライブ配信空間において配置され動作する。ライブ対戦パートにおいて操作される第2アバターオブジェクト610Bを含む複数のオブジェクトは、ライブ対戦パート用の仮想空間であるライブ対戦空間において配置され動作する。ここで、ライブ配信空間およびライブ対戦空間は、共通の仮想空間をパートに応じて切り替えることにより規定される。
ライブ配信パートにおいて、演者4は、頭部にHMD500を装着するとともに、両手、両足、腰部等にモーションセンサ520を取り付ける(図28(A)参照)。演者4の全身の動きは、HMD500が備えるセンサとモーションセンサ520とにより検出される。第1アバターオブジェクト610Aは、HMD500が備えるセンサとモーションセンサ520とにより検出された信号、即ちモーションデータに基づいて動作する。ユーザ端末100のタッチスクリーン15には、当該第1アバターオブジェクト610Aが配置されたライブ配信空間を表す画像が表示される(図29(A)~図29(C)参照)。
ユーザは、ユーザ端末100を操作することにより、第1アバターオブジェクト610 Aに対してコメントを送信したり、投げ銭に対応するアイテムをライブ配信空間に投入することができ、演者4は、当該コメントやアイテムに対して発話や身振り手振りで応答することにより当該ユーザと対話を行う。なお、ユーザが入力したコメントは、複数のユーザ端末100の各々に配信され、当該ユーザ端末100のタッチスクリーン15に表示される。
ライブ対戦パートに移行する際、演者4は、HMD500およびモーションセンサ520を外すとともに、配信端末400を手に取る。演者4は、当該配信端末400のタッチスクリーン45に表示されたバーチャルパッドVP1およびVP2(図28(B)参照) を操作することにより、第2アバターオブジェクト610Bをライブ対戦空間において動作させる。当該ライブ対戦空間を表す画像は、ユーザ端末100のタッチスクリーン15 および配信端末400のタッチスクリーン45の各々に表示される(図29(E)、図29(G)参照)。
ここで、第1アバターオブジェクト610Aおよび第2アバターオブジェクト610B は、互いに同じ外見(同じ顔、髪型、服装)のオブジェクトであり、メモリ11に予め記憶されている共通のモデルデータを再生することにより生成される。これによって、ユーザは、同じ外見のオブジェクトが登場する複数種類のパートであって、当該オブジェクトを動作させるための演者4の操作態様がパートに応じて異なる複数種類のパートを楽しむことができる。
ライブ対戦パートが終了すると、ライブ配信パートが再開される。演者4は、HMD500を頭部に装着するとともに、両手、両足、腰部、頭部等にモーションセンサ520を取り付け、第1アバターオブジェクト610Aをライブ配信空間において動作させる。ユーザ端末100のタッチスクリーン15には、当該ライブ配信空間を表す画像が表示される。
ライブ対戦パートを開始するために演者4がHMD500およびモーションセンサ520を外す際、またはライブ配信パートに復帰するために演者4がHMD500およびモーションセンサ520を装着等する際には、HMD500およびモーションセンサ520が本来の位置からずれるため、第1アバターオブジェクト610Aの挙動に不具合が生じる。具体的には、HMD500等の着脱に応じて第1アバターオブジェクト610Aの首が伸びてしまうなど、第1アバターオブジェクト610Aの容姿がいびつになる。そこで、本実施形態においては、ライブ配信パートとライブ対戦パートとの間での遷移の際に、図29(D)または図29(F)に示す切替え画面をユーザ端末100のタッチスクリーン15に表示するようにしている。これにより、挙動がおかしな第1アバターオブジェクト610Aがユーザにより視認されるような不都合を回避することができる。
(ライブ配信パート)
演者4がコントローラ540によりライブ配信開始操作を行うと、ライブ配信パートが開始される。ゲームプレイ端末300は、当該ライブ配信パートにおいて、仮想空間600Aをライブ配信空間として規定し、ワンピースを着用した女の子を模した第1アバターオブジェクト610Aや、花輪を模した装飾オブジェクト(背景オブジェクト)を含む仮想オブジェクトを当該ライブ配信空間に配置する。ゲームプレイ端末300は、HMD500およびモーションセンサ520の各々からの出力に基づいて演者4の身体の動きを検出し(即ち、演者4のモーションをキャプチャし)、これによって生成されたモーションデータ等に基づいて、第1アバターオブジェクト610Aを含む仮想オブジェクトを当該ライブ配信空間内において配置・動作等させる。また、ゲームプレイ端末300は、当該モーションデータや音声データ等に基づいて、第1アバターオブジェクト610Aや装飾オブジェクトを含む仮想オブジェクトの配置・動作・発話等を特定可能にするための動作指図データを生成し、当該操作指図データを含むゲーム進行情報を複数のユーザ端末100に配信する。
複数のユーザ端末100の各々は、ライブ配信パートにおいて、仮想空間600Bをライブ配信空間として規定し、当該ライブ配信空間の所定位置(例えば、第1アバターオブジェクト610Aを正面から捉えることが可能な位置)に仮想カメラ620Bを配置する。ユーザ端末100は、メモリ11に予め記憶されているモデルデータと、ゲームプレイ端末300から配信されたゲーム進行情報とに基づいて、第1アバターオブジェクト610Aや装飾オブジェクトを含む仮想オブジェクトをライブ配信空間に配置し、または既に配置されている仮想オブジェクトを動作させる。また、ユーザ端末100は、現在の仮想カメラ620Bの位置および向きに応じた視界領域640Bを規定し、当該視界領域640Bに対応する視界画像660をライブ配信映像としてタッチスクリーン15に表示する(図29(A)~図29(C)参照)。
当該ライブ配信期間には、ライブ対戦パートへの参加を受け付けるためのエントリー期間が設けられる。当該エントリー期間中であって、ライブ対戦パートにエントリーするためのエントリー操作がユーザによって行われていない段階では、ユーザ端末100は、「緊急招集!フィールドバトル」の文字列を当該ライブ配信映像の上段に重畳して表示し、「エントリーする!」ボタンB1を当該ライブ配信映像の下段に重畳して表示する(図29(A)参照)。当該ユーザにより「エントリーする!」ボタンB1がタップされると、ユーザ端末100は、「エントリーする!」ボタンB1を非表示とし、代わりに「エントリーしました!」の文字列を当該ライブ配信映像の下段に重畳して表示する(図29(B)参照)。エントリー期間が終了すると、ユーザ端末100は、「エントリーしました!」の文字列を「マッチングタイムアップ」の文字列に更新する(図29(C)参照)。
エントリー期間が経過した後に、演者4が例えばライブ配信終了操作を行うと、ゲームプレイ端末300は、ライブ対戦パートへの切替データを複数のユーザ端末100に配信する。ユーザ端末100は、当該切替データに基づいて、図29(C)に示すライブ配信映像を図29(D)に示すライブ対戦パートへの切替え画面に更新する。図29(D)によれば、当該切替え画面は、「『フィールドバトル』いざ、フィールドへ」の文字列と、「フィールドバトラー転送中」の文字列と、円を描く矢印と、「完了をお待ちください」の文字列とによって構成される。この結果、ユーザによる第1アバターオブジェクト610Aの視認が制限される。
演者4は、当該切替え画面が表示されている間に、HMD500およびモーションセンサ520を外し、ライブ対戦空間のうちユーザおよび演者4が視認できない位置(例えば、ライブ対戦空間に配置される仮想オブジェクトの裏に相当する位置等)に、HMD500およびモーションセンサ520を隠す。これにより、1つの仮想空間600Bをライブ配信空間とライブ対戦空間とで切り替える場合であっても、いびつな容姿の第1アバターオブジェクト610Aがライブ配信空間に出現する不都合を回避することができる。なお、上記の位置にHMD500およびモーションセンサ520を隠す代わりに、ユーザ端末100および配信端末400に配信する動作指図データ等の設定により、第1アバターオブジェクト610Aを非表示とするようにしてもよい。
(ライブ対戦パート)
演者4が配信端末400上で例えばライブ対戦開始操作を行うと、ライブ対戦パートが開始される。ライブ対戦にエントリーしたユーザのユーザ端末100は、仮想空間600 Bをライブ対戦空間として規定し、ユーザにより操作される兵士オブジェクト720、演者4により操作される第2アバターオブジェクト610B、NPCである敵オブジェクト730、建物オブジェクト(背景オブジェクト)740等の仮想オブジェクトを、メモリ11に予め記憶されているモデルデータに基づいて当該ライブ対戦空間に配置する。ここで、敵オブジェクト730および建物オブジェクト740については、当該ユーザ端末100のゲームプログラムにより予め指定された位置に配置する。一方、兵士オブジェクト720および第2アバターオブジェクト610Bについては、例えば、ライブ対戦パートの開始時であってライブ対戦開始操作に応じてサーバ200等から配信される配置情報に基づいて配置する。
自ユーザがライブ対戦にエントリーした場合、当該自ユーザのユーザ端末100は、当該ユーザ端末100において規定されたライブ対戦空間に、自ユーザの仮想カメラ620Bを配置する。このとき、当該仮想カメラ620Bは、自ユーザの兵士オブジェクト720の背後から当該ライブ対戦空間を捉えるように配置される。自ユーザのユーザ端末100は、当該仮想カメラ620Bの視界領域640Bに対応する視界画像660をライブ対戦映像としてタッチスクリーン15に表示するとともに、バーチャルパッドVP1およびVP2(所定操作入力部)を当該ライブ対戦映像に重畳して表示する(図29(E)参照)。
なお、ライブ対戦パートにエントリーしなかったユーザについては、図29(D)に示す切替え画面を表示した後に、ライブ対戦空間を俯瞰する画像を当該ユーザのユーザ端末100に表示するようにしてもよく、この場合には、演者4により操作される第2アバターオブジェクト610Bおよびユーザにより操作される兵士オブジェクト720の少なくともいずれかに対して、当該オブジェクトにとって有利となるアイテムや不利となるアイテム等を投入できるようにしてもよい。
また、本実施形態では、配信端末400もまた、ライブ対戦パートを開始するために、仮想空間600Bをライブ対戦空間として規定し、兵士オブジェクト720、第2アバターオブジェクト610B、敵オブジェクト730、建物オブジェクト740等の仮想オブジェクトを、メモリ41に予め記憶されているモデルデータに基づいて当該ライブ対戦空間に配置する。ここで、敵オブジェクト730および建物オブジェクト740については、配信端末400のゲームプログラムにより予め指定された位置に配置する。一方、兵士オブジェクト720および第2アバターオブジェクト610Bについては、例えば、ライブ対戦パートの開始時であってライブ対戦開始操作に応じてサーバ200等から配信される配置情報に基づいて配置する。
配信端末400は、当該配信端末400において規定されたライブ対戦空間に、演者4 の仮想カメラ620Bを配置する。このとき、当該仮想カメラ620Bは、第2アバターオブジェクト610Bの背後から当該ライブ対戦空間を捉えるように配置される。配信端末400は、当該仮想カメラ620Bの視界領域640Bに対応する視界画像660をライブ対戦映像としてタッチスクリーン45に表示するとともに、バーチャルパッドVP1 およびVP2(操作入力部)を当該ライブ対戦映像に重畳して表示する(図29(G)参照)。
第2アバターオブジェクト610Bは、ライブ配信空間に配置された第1アバターオブジェクト610Aと同じく、ワンピースを着用した女の子を模したオブジェクトであり、バズーカ砲を背負って当該ライブ対戦空間に登場する。一方、兵士オブジェクト720は、例えば鎧を着用した兵士を模したオブジェクトであり、バズーカ砲を背負って当該ライブ対戦空間に登場する。敵オブジェクト730は、例えば巨大な蜘蛛を模したオブジェクトである。第2アバターオブジェクト610Bおよび兵士オブジェクト720の各々は、バズーカ砲から弾を発射させることにより敵オブジェクト730を攻撃する。一方、敵オブジェクト730は、口から糸を放出することにより第2アバターオブジェクト610B および兵士オブジェクト720を攻撃する。
自ユーザのユーザ端末100は、当該ユーザ端末100のバーチャルパッドVP1またはVP2が操作されたとき、当該ユーザ端末100により規定されたライブ対戦空間において、当該操作に応じた動作を自ユーザの兵士オブジェクト720に行わせる。また、自ユーザのユーザ端末100は、当該操作を特定可能にするための操作情報を、サーバ200を介して他ユーザのユーザ端末100と配信端末400とに送信する。当該操作情報を受信したユーザ端末100および配信端末400の各々は、当該端末において規定されたライブ対戦空間に存在する兵士オブジェクト720のうち、当該操作情報を送信したユーザ端末100のユーザにより操作される兵士オブジェクト720を、当該操作情報に応じて動作させる。
配信端末400は、当該配信端末400のバーチャルパッドVP1またはVP2が操作されたとき、当該配信端末400により規定されたライブ対戦空間において、当該操作に応じた動作を第2アバターオブジェクト610Bに行わせる。また、配信端末400は、当該操作を特定可能にするための操作情報を、サーバ200を介して複数のユーザ端末100に送信する。当該操作情報を受信したユーザ端末100は、当該ユーザ端末100において規定されたライブ対戦空間に存在する第2アバターオブジェクト610Bを、当該操作情報に応じて動作させる。
この結果、いずれかのユーザ端末100において兵士オブジェクト720を移動させるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該兵士オブジェクト720が移動する。また、配信端末400において第2アバターオブジェクト610Bを移動させるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該第2アバターオブジェクト610Bが移動する。
いずれかのユーザ端末100において兵士オブジェクト720をジャンプさせるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該兵士オブジェクト720がジャンプする。また、配信端末400において第2アバターオブジェクト610Bをジャンプさせるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該第2アバターオブジェクト610Bがジャンプする。
いずれかのユーザ端末100において兵士オブジェクト720が背負っているバズーカ砲の向き、即ち兵士オブジェクト720の向きを変更するための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該バズーカ砲の向き、即ち兵士オブジェクト720の向きが変更される。また、配信端末400において第2アバターオブジェクト610Bが背負っているバズーカ砲の向き、即ち第2アバターオブジェクト610Bの向きを変更するための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該バズーカ砲の向き、即ち第2アバターオブジェクト610Bの向きが変更される。
いずれかのユーザ端末100において兵士オブジェクト720が背負っているバズーカ砲から弾を発射させるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該バズーカ砲から弾が発射される。また、配信端末400において第2アバターオブジェクト610Bが背負っているバズーカ砲から弾を発射させるための操作が行われると、複数のユーザ端末100および配信端末400の各々により規定されたライブ対戦空間において、当該バズーカ砲から弾が発射される。
自ユーザの兵士オブジェクト720のバズーカ砲から発射された弾が敵オブジェクト730にヒットすると、自ユーザのユーザ端末100は、自ユーザの兵士オブジェクト720のスコアをアップさせる。また、当該ユーザ端末100は、当該敵オブジェクト730 のHPを減少させるとともに、減少後のHPをサーバ200を介して他ユーザのユーザ端末100と配信端末400とに送信する。第2アバターオブジェクト610Bのバズーカ砲から発射された弾が敵オブジェクト730にヒットすると、配信端末400は、第2アバターオブジェクト610Bのスコアをアップさせる。また、配信端末400は、当該敵オブジェクト730のHPを減少させるとともに、減少後のHPをサーバ200を介して複数のユーザ端末100に送信する。当該減少後のHPを受信した端末は、当該端末により規定されたライブ対戦空間に存在する敵オブジェクト730のHPを、当該減少後のH Pにより更新する。敵オブジェクトのHPが0まで減少すると、複数のユーザ端末100 および配信端末400の各々は、当該端末により規定されたライブ対戦空間から当該敵オブジェクト730を消滅させる。
また、自ユーザのユーザ端末100により規定されたライブ対戦空間の敵オブジェクト730から糸が放出され、当該糸が自ユーザの兵士オブジェクト720にヒットすると、当該ユーザ端末100は、当該兵士オブジェクト720のHPを減少させる。自ユーザの兵士オブジェクト720のHPが0まで減少すると、自ユーザのユーザ端末100は、当該兵士オブジェクト720の対戦を終了させるとともに、対戦が終了した旨の通知をサーバ200を介して他ユーザのユーザ端末100および配信端末400に送信する。当該通知を受信した端末は、対戦が終了した兵士オブジェクト720を当該端末により規定されたライブ対戦空間から消滅させる。
また、配信端末400により規定されたライブ対戦空間の敵オブジェクト730から糸が放出され、当該糸が第2アバターオブジェクト610Bにヒットすると、配信端末400は、第2アバターオブジェクト610BのHPを減少させる。第2アバターオブジェクト610BのHPが0まで減少すると、配信端末400は、第2アバターオブジェクト610Bの対戦を終了させるとともに、対戦が終了した旨の通知をサーバ200を介して複数のユーザ端末100に送信する。当該通知を受信したユーザ端末100は、当該ユーザ端末100により規定されたライブ対戦空間から第2アバターオブジェクト610Bを消滅させる。
兵士オブジェクト720および第2アバターオブジェクト610Bの各々のスコアおよびHPは、対戦の優劣を特定可能にするためのパラメータである。当該スコアおよびHP の各々の大小関係は、対戦の進行状況に応じて変化する。当該スコアおよびHPは、ライブ対戦期間が終了したときに、複数のユーザ端末100および配信端末400の各々からゲームプレイ端末300に対して送信される。ゲームプレイ端末300は、当該スコアおよびHPを集計して、複数のユーザおよび演者4の各々にランキングを付ける。
ライブ対戦を終了する際、演者4は、例えばライブ対戦終了操作を行う。配信端末400は、当該ライブ対戦終了操作に応じて、ライブ配信パートへの切替データを複数のユーザ端末100に配信する。ユーザ端末100は、当該切替データに基づいて、図29(E)に示すライブ対戦映像を図29(F)に示すライブ配信パートへの切替え画面に更新する。図29(F)によれば、当該切替え画面は、「結果発表」の文字列と、「集計中」の文字列と、円を描く矢印と、「完了をお待ちください」の文字列とによって構成される。
演者4は、当該切替え画面が表示されている時間を利用して、HMD500を頭に装着するとともにモーションセンサ520を両手、両足、腰部、頭部等に取り付ける。これにより、HMD500およびモーションセンサ520を装着等する際の動作が反映された第1アバターオブジェクト610Aがユーザ端末100に表示されてしまう不都合を回避できる。
演者4がコントローラ540によりライブ配信開始操作を行うと、ライブ配信期間が再開される。ユーザ端末100のタッチスクリーン15には、ライブ配信空間を表す画像が表示される。当該ライブ対戦パートの結果、即ちランキングは、ライブ配信空間に登場した第1アバターオブジェクト610Aにより発表される。
本実施形態によれば、ユーザ端末100は、ライブ配信パートにおいて、動作指図データの入力を有効化する一方、操作情報の入力を無効化する。また、ユーザ端末100は、ライブ対戦パートにおいて、操作情報の入力を有効化する一方、動作指図データの入力を無効化する。これにより、ユーザ端末100において誤った処理が実行される不都合を回避することができる。
(バーチャルパッドの操作に応じたユーザ端末100の動作)
ユーザ端末100において、バーチャルパッドVP1は、タッチスクリーン15の左下段の位置に表示される。一方、バーチャルパッドVP2は、バーチャルパッドVP1の外径よりも小さい外径を有して、タッチスクリーン15の右下段のやや上側の位置に表示される。即ち、バーチャルパッドVP1およびVP2は、各々の中心位置(基準位置)がタッチスクリーン15における水平方向および垂直方向のいずれにおいてもずれた位置に配置される。
バーチャルパッドVP1およびVP2の配置は、ユーザのタッチ操作によらず固定的である。ただし、自ユーザの兵士オブジェクト720が敵オブジェクト730からの攻撃を受けることにより成立する条件を含む所定条件が成立すると、ユーザ端末100は、バーチャルパッドVP1およびVP2を所定の態様(例えば上下左右方向に所定量ずつ移動表示させることによりユーザに対して振動しているような印象を抱かせる態様等)で動作表示させる。
ユーザ端末100は、タッチスクリーン15に対するタッチ位置を示す情報を、履歴情報テーブル(図示せず)に登録する。具体的には、ユーザ端末100は、タッチスクリーン15に対するタッチを検出しない状態から当該タッチを検出したときに、「タッチオン状態」になったと判別して、タッチ位置を示す履歴情報を「タッチナウ状態」の履歴情報として当該履歴情報テーブルに登録する。また、タッチスクリーン15に対するタッチを検出しなくなったとき、「タッチオフ状態」になったと判別して、所定の履歴情報を当該履歴情報テーブルに登録する。ユーザ端末100は、タッチスクリーン15に対するタッチ操作の態様(タップ操作、ドラッグ操作など)を、当該履歴情報に基づいて特定する。
(バーチャルパッドVP1について)
バーチャルパッドVP1は、操作体(操作対象画像)ST1と、当該操作体ST1よりも大きい円形の外枠(範囲画像)FR1とにより構成される。操作体ST1がタッチされていないとき、当該操作体ST1は、外枠FR1により囲まれた範囲RG1の中心位置( 基準位置)に表示される。操作体ST1に対するドラッグ操作がユーザによって行われると、ユーザ端末100は、当該ドラッグ操作により指定された方向に当該操作体ST1を移動させる。より具体的には、ユーザ端末100は、操作体ST1の位置以外の位置に対するタッチ操作により開始されたドラッグ操作によっては操作体ST1を移動させず、操作体ST1の位置に対するタッチ操作により開始されたドラッグ操作に応じて操作体ST1を移動させる。
操作体ST1は、当該操作体ST1の中心位置から所定の半径を有し、当該中心位置が外枠FR1内で移動可能とされる円形状のオブジェクトである。この結果、ドラッグ操作により当該中心位置が外枠FR1の外縁付近まで移動すると、当該操作体ST1は、外枠FR1よりも若干外側にはみ出して表示される。
操作体ST1に対するタッチ操作により開始されたドラッグ操作が行われると、ユーザ端末100は、範囲RG1の中心位置を始点とし、現在のタッチ位置を終点とするベクトルを特定する。現在のタッチ位置が範囲RG1内であれば、ユーザ端末100は、現在のタッチ位置に操作体ST1の中心位置を合わせ、現在のタッチ位置が範囲RG1外であれば、ユーザ端末100は、当該ベクトルと外枠FR1との交点に操作体ST1の中心位置を合わせる。ドラッグ操作のためのタッチ位置を外枠FR1の外側で当該外枠FR1の周方向に移動させると、当該タッチ位置と範囲RG1の中心位置との交点ひいては操作体S T1もまた周方向に移動する。
ユーザ端末100は、範囲RG1の中心位置と当該操作体ST1の現在位置とに応じた方向に兵士オブジェクト720を移動させる。ただし、操作体ST1のドラッグ操作によっては、兵士オブジェクト720の向きは変更させない。このため、図30(C)に示すように兵士オブジェクト720が表示されている状態で、ドラッグ操作により操作体ST1を移動させると、当該兵士オブジェクト720は、次のように動作する。このとき、仮想カメラ620Bは、当該兵士オブジェクト720に追従して移動する。
操作体ST1を上に移動させた場合には、兵士オブジェクト720は、前方を向いたまま前に移動する(図30(A)参照)。操作体ST1を下に移動させた場合には、兵士オブジェクト720は、前方を向いたまま後ろに移動する(図30(E)参照)。操作体ST1を右に移動させた場合には、兵士オブジェクト720は、前方を向いたまま右に移動する(図30(B)参照)。操作体ST1を左に移動させた場合には、兵士オブジェクト720は、前方を向いたまま左に移動する(図30(D)参照)。
なお、操作体ST1を右斜め上に移動させた場合には、兵士オブジェクト720は、前方を向いたまま右斜め前方に移動する。また、操作体ST1を左斜め下に移動させた場合には、兵士オブジェクト720は、前方を向いたまま左斜め後方に移動する。
ユーザ端末100は、操作対象および操作態様がそれぞれバーチャルパッドVP1およびドラッグ操作であることを特定可能な情報と、上記のベクトルと、ユーザIDとを含む操作情報を、サーバ200に対して送信する。ドラッグ操作を解除するためにユーザがタッチスクリーン15から指を離すと、ユーザ端末100のプロセッサ10は、範囲RG1 の中心位置に操作体ST1を戻す表示処理を行う。このとき、ユーザ端末100のプロセッサ10は、操作体ST1を一気に当該中心位置に戻すような表示処理を行ってもよく、操作体ST1を所定の移動速度で当該中心位置に戻すような表示処理を行ってもよい。
範囲RG1内のいずれかの位置に対するタップ操作がユーザによって行われると、ユーザ端末100は、当該タップ操作が操作体ST1に対する操作であるか否かにかかわらず、兵士オブジェクト720をその場でジャンプさせる。ただし、ドラッグ操作が解除された後の所定時間(例えば、0.1秒)以内に当該タップ操作が行われた場合には、解除されたドラッグ操作による兵士オブジェクト720の移動方向に、当該兵士オブジェクト720をジャンプさせてもよい。ユーザ端末100は、操作対象および操作態様がそれぞれバーチャルパッドVP1およびタップ操作であることを特定可能な情報と、ユーザIDとを含む操作情報を、サーバ200に対して送信する。
(バーチャルパッドVP2について)
バーチャルパッドVP2は、操作体(操作対象画像)ST2と、当該操作体ST2よりも大きい円形の外枠(範囲画像)FR2とにより構成される。操作体ST2は、外枠FR2により囲まれる範囲RG2の中心位置(基準位置)に表示され、当該操作体ST2に対するドラッグ操作が行われたときに、当該ドラッグ操作により指定された方向に移動する。このとき、ユーザ端末100は、操作体ST2の位置以外の位置に対するタッチ操作により開始されたドラッグ操作によっては操作体ST2を移動させず、操作体ST2の位置に対するタッチ操作により開始されたドラッグ操作に応じて操作体ST2を移動させる。操作体ST2は、当該操作体ST2の中心位置が外枠FR2内で移動可能な円形状のオブジェクトである。このため、ドラッグ操作により操作体ST2の中心位置が外枠FR2の外縁付近まで移動すると、当該操作体ST2は、外枠FR2よりも若干外側にはみ出して表示される。
操作体ST2に対するタッチ操作により開始されたドラッグ操作が行われると、ユーザ端末100は、範囲RG2の中心位置を始点とし、現在のタッチ位置を終点とするベクトルを特定する。現在のタッチ位置が範囲RG2内であれば、ユーザ端末100は、現在のタッチ位置に操作体ST2の中心位置を合わせ、現在のタッチ位置が範囲RG2外であれば、ユーザ端末100は、当該ベクトルと外枠FR2との交点に操作体ST2の中心位置を合わせる。ドラッグ操作のためのタッチ位置を外枠FR2の外側で当該外枠FR2の周方向に移動させると、当該タッチ位置と範囲RG2の中心位置との交点ひいては操作体S T2もまた周方向に移動する。
ユーザ端末100は、範囲RG2の中心位置と当該操作体ST2の現在位置とに応じて、バズーカ砲の発射方向と仮想カメラ620Bの配置とを変更する。当該操作体ST2が左右方向に移動したとき、ユーザ端末100は、バズーカ砲の発射方向、即ち兵士オブジェクト720の向きを、当該兵士オブジェクト720の上方から眺めて、当該兵士オブジェクト720の体軸に対して時計回り向または反時計回り方向に変更するとともに、兵士オブジェクト720を背後から捉えるように仮想カメラ620Bの位置および向きを変更する。また、当該操作体ST2が上下方向に移動したとき、ユーザ端末100は、兵士オブジェクト720の両肩を結ぶ直線を軸として、バズーカ砲の発射方向を上下方向に変更するとともに、当該発射方向を捉えるように仮想カメラ620Bの位置および向きを変更する。
このため、図31(C)に示すように兵士オブジェクト720が表示されている状態で、ドラッグ操作により操作体ST2を移動させると、バズーカ砲の向きおよび仮想カメラ620Bの位置は、次のように変化する。
即ち、操作体ST2を上に移動させた場合には、バズーカ砲の発射方向は、兵士オブジェクト720の両肩を結ぶ直線を軸として上を向き、仮想カメラ620Bは、向きを上に変えながら下に移動する(図31(A)参照)。操作体ST2を下に移動させた場合には、バズーカ砲の発射方向は、当該両肩を結ぶ直線を軸として下を向き、仮想カメラ620 Bは、向きを下に変えながら上に移動する(図31(E)参照)。
操作体ST2を左に移動させた場合には、バズーカ砲の発射方向、即ち兵士オブジェクト720の向きは、兵士オブジェクト720の体軸を軸として反時計回り方向に変更され、仮想カメラ620Bは、兵士オブジェクト720を背後から捉えるように、当該兵士オブジェクト720の動きに追従する(図31(B)参照)。操作体ST2を右に移動させた場合には、バズーカ砲の発射方向、即ち兵士オブジェクト720の向きは、兵士オブジェクト720の体軸を軸として時計回り方向に変更され、仮想カメラ620Bは、兵士オブジェクト720を背後から捉えるように、当該兵士オブジェクト720の動きに追従する(図31(D)参照)。
なお、操作体ST2を右斜め上に移動させた場合には、バズーカ砲の発射方向、即ち兵士オブジェクト720は、右斜め上を向く。また、操作体ST1を左斜め下に移動させた場合には、バズーカ砲の発射方向、即ち兵士オブジェクト720は、左斜め下を向く。
ユーザ端末100は、操作対象および操作態様がそれぞれバーチャルパッドVP2およびドラッグ操作であることを特定可能な情報と、当該ベクトルと、ユーザIDとを含む操作情報を、サーバ200に対して送信する。ドラッグ操作を解除するためにユーザがタッチスクリーン15から指を離すと、ユーザ端末100は、範囲RG2の中心位置に操作体ST2を戻す。
範囲RG2内のいずれかの位置に対するタップ操作がユーザによって行われると、ユーザ端末100は、当該タップ操作が操作体ST2に対する操作であるか否かにかかわらず、バズーカ砲から弾を発射させる。また、ユーザ端末100は、操作対象および操作態様がそれぞれバーチャルパッドVP2およびタップ操作であることを特定可能な情報と、ユーザIDとを含む操作情報を、サーバ200に対して送信する。
バーチャルパッドVP1およびVP2は、ゲーム映像よりも上のレイヤ(優先度が高いレイヤ)に配置され、ゲーム映像に重畳して表示される。また、バーチャルパッドVP1 およびVP2については、一方のバーチャルパッドの方が他方のバーチャルパッドよりも上のレイヤ(優先度が高いレイヤ)に配置される。このように、タッチスクリーン15に表示される画像は、優先度が異なる複数のレイヤを重ね合わせた画像であり、バーチャルパッドVP1およびVP2は、各々、異なるレイヤに表示される。
ユーザ端末100のタッチスクリーン15よりも表示領域のサイズが小さい小型端末を用いて本実施形態のライブ対戦パートをプレイする場合には、バーチャルパッドVP1およびVP2が当該表示領域において部分的に重複してしまうことが予想される。しかし、そのような場合であっても、当該小型端末においては、当該重複する範囲内における操作を、優先度が高いバーチャルパッドに対する操作として受け付ける。例えば、バーチャルパッドVP2をバーチャルパッドVP1の上の階層に設定している場合において、重複する範囲に対するタップ操作が行われたときには、当該小型端末は、バーチャルパッドVP2に対するタップ操作とみなして、バズーカ砲から弾を発射させる。
また、タッチスクリーン15には、ゲームの進行中にタップ操作が可能なアイコンIC1およびIC2が表示される。アイコンIC1は、仮想空間600Bに作用を及ぼすためのアイコンであり、当該アイコンIC1をタップすることにより、障害物などの仮想オブジェクトが仮想空間600Bに投入される。また、アイコンIC2は、自ユーザのコメントを入力するためのアイコンであり、当該アイコンIC2をタップすることにより、自ユーザのコメントが複数のユーザ端末100の各々のタッチスクリーン15に表示される。アイコンIC1およびIC2はいずれも、バーチャルパッドVP1およびVP2よりも上のレイヤに配置される。
このため、当該小型端末を用いて本実施形態のライブ対戦パートをプレイする場合であって、例えばアイコンIC1がバーチャルパッドVP2と重複して当該小型端末の表示領域に表示されている場合において、当該重複している範囲に対するタップ操作が行われたときには、当該小型端末は、当該タップ操作を、アイコンIC1に対するタップ操作として受け付ける。
本実施形態によれば、操作体ST1、ST2は、各々、当該操作体ST1、ST2に対するドラッグ操作の解除に応じて範囲RG1、RG2の中心位置に戻される。このため、仮に、ジャンプまたは弾の発射のためのタップ操作を、操作体ST1またはST2へのタップ操作に限って受け付けるようにすると、ドラッグ操作の解除位置においてタップ操作したとしても、当該解除位置に操作体ST1、ST2が存在しないため、有効に受け付けられないことになってしまう。その結果、ドラッグ操作解除直後におけるタップ操作が困難となる。
上記不都合を解消すべく、本実施形態においては、範囲RG1に対するタップ操作が行われると、当該タップ操作が操作体ST1に対する操作であるか否かにかかわらず、兵士オブジェクト720をジャンプさせるといったゲーム制御が実行される。また、操作体S T2は、当該操作体ST2に対するドラッグ操作の解除に応じて範囲RG2の中心位置に戻されるところ、範囲RG2に対するタップ操作が行われると、当該タップ操作が操作体ST2に対する操作であるか否かにかかわらず、バズーカ砲の弾を発射させるといったゲーム制御が実行される。
これにより、ドラッグ操作解除直後におけるタップ操作を容易化でき、例えば、操作体ST1に対するドラッグ操作に応じた兵士オブジェクト720の移動と、範囲RG1内でのタップ操作に応じた兵士オブジェクト720のジャンプとを連続的に行う際の操作性を高めることができるとともに、操作体ST2に対するドラッグ操作に応じたバズーカ砲の向きの変更と、範囲RG2内でのタップ操作に応じた攻撃とを連続的に行う際の操作性を高めることができる。
また、バズーカ砲の発射方向または兵士オブジェクト720の向きを変更したり、当該バズーカ砲により攻撃を行うための操作を受け付けるバーチャルパッドは、兵士オブジェクト720を移動・ジャンプさせるための操作を受け付けるバーチャルパッドと異なる。このため、移動・ジャンプをさせながらの向き変更や攻撃が可能となり、操作性の向上が図られる。
即ち、仮に、兵士オブジェクト720を移動させる操作とバズーカ砲による攻撃を行わせる操作とをバーチャルパッドVP1により受け付け、バズーカ砲の発射方向または兵士オブジェクト720の向きを変更する操作と兵士オブジェクト720をジャンプさせる操作とをバーチャルパッドVP2により受け付けるようにすると、移動させながらの攻撃や、向きを変更しながらのジャンプが困難になる。
しかし、本実施形態では、兵士オブジェクト720を移動させる操作と兵士オブジェクト720をジャンプさせる操作とをバーチャルパッドVP1により受け付け、バズーカ砲の発射方向または兵士オブジェクト720の向きを変更する操作とバズーカ砲による攻撃を行わせる操作とをバーチャルパッドVP2により受け付けるようにしているため、移動・ジャンプをさせながらの向き変更や攻撃が可能となる。この結果、操作性を向上させることができる。
なお、配信端末400におけるバーチャルパッドVP1およびVP2の配置、構成および機能は、操作対象が第2アバターオブジェクト610Bである点を除き、ユーザ端末100におけるバーチャルパッドVP1およびVP2の配置、構成および機能と同じである(図29(G)参照)。即ち、配信端末400に表示される操作入力部は、ユーザ端末100の所定操作入力部と同じ所定操作を受付可能である。このため、配信端末400のバーチャルパッドVP1およびVP2に関する重複した説明は省略する。
<ユーザ端末、ゲームプレイ端末および配信端末の処理フロー>
ゲームプレイ端末300が実行する処理の流れについて図32(A)に示すフローチャートを用いて説明し、配信端末400が実行する処理の流れについて図32(B)に示すフローチャートを用いて説明し、ユーザ端末100が実行する処理の流れについて図33 に示すフローチャートを用いて説明する。なお、当該処理の一部はサーバ200において実行し、処理結果をゲームプレイ端末300、配信端末400またはユーザ端末100に送信するようにしてもよい。
図32(A)に示すフローチャートを参照して、ステップS81では、演者4がコントローラ540によりライブ配信開始操作を行ったか否かを、当該コントローラ540からの情報に基づいて判定する。なお、当該ライブ配信開始操作は、仮想空間600A内に配置されている操作オブジェクトに対する操作であってもよい。当該ライブ配信開始操作が行われたと判定されたときは、ステップS82に進み、ライブ配信期間識別情報を複数のユーザ端末100に対して配信する。また、ステップS82では、ライブ配信が実行中であるか否かを識別するためのライブ配信フラグをセットする。ステップS82の処理が完了したとき、またはステップS81においてライブ配信開始操作が行われたと判定されなかったときは、ステップS83に進む。
ステップS83では、ライブ配信が実行中であるか否かを、当該ライブ配信フラグに基づいて判定する。当該ライブ配信フラブがセットされていなければ、ライブ配信が実行中であるとは判定せず、ステップS88で他の処理を実行した後にリターンする。一方、当該ライブ配信フラグがセットされていれば、ライブ配信が実行中であると判定し、ステップS84に進む。
ステップS84では、仮想空間600Aをライブ配信空間として規定し、第1アバターオブジェクト610Aを含む仮想オブジェクトを当該ライブ配信空間に配置する。ステップS84では、HMD500およびモーションセンサ520の各々からの出力に基づいて演者4のモーションをキャプチャする。ステップS84では、当該キャプチャによって生成されたモーションデータ等に基づいて、当該ライブ配信空間内で第1アバターオブジェクト610Aを含む仮想オブジェクトを配置・動作等させる。ステップS85では、当該モーションデータ等に基づいて、第1アバターオブジェクト610Aを含む仮想オブジェクトの配置・動作等を特定可能にするための動作指図データを生成し、当該動作指図データを含むゲーム進行情報を複数のユーザ端末100に配信する。また、ステップS85では、ライブ配信期間識別情報を複数のユーザ端末100に配信する。
ステップS85の処理が完了すると、ステップS86に進み、演者4がコントローラ540によりライブ配信終了操作を行ったか否かを、当該コントローラ540からの情報に基づいて判定する。なお、当該ライブ配信終了操作は、仮想空間600A内に配置されている操作オブジェクトに対する操作であってもよい。当該ライブ配信終了操作が行われたと判定されたときは、ステップS87に進み、ライブ対戦パートへの切替えデータを複数のユーザ端末100に対して配信する。また、ステップS87では、ライブ配信フラグをリセットする。一方、ステップS86においてライブ配信終了操作が行われたと判定されなかったときはステップS88で他の処理を実行する。ステップS87またはS88の処理が完了すると、リターンする。
図33に示すフローチャートを参照して、ステップS101では、現在時刻がライブ配信期間中であるか否かを判定する。ユーザ端末100のメモリ11にはユーザ側ライブ配信フラグが設けられており、当該ユーザ側ライブ配信フラグはゲームプレイ端末300からライブ配信期間識別情報を受信することによりセットされる。ステップS101では、当該ユーザ側ライブ配信フラグに基づいて、ライブ配信期間中であるか否かを判定する。当該ライブ配信期間中と判定されなかったときはステップS109に進む一方、当該ライブ配信期間中と判定されたときは、ステップS102に進む。
ステップS102では、仮想空間600Bをライブ配信空間として規定し、当該ライブ配信空間の所定位置に仮想カメラ620Bを配置する。ステップS102では、メモリ11に予め記憶されているモデルデータとゲームプレイ端末300から配信されたゲーム進行情報に基づいて、第1アバターオブジェクト610Aを含む仮想オブジェクトを当該ライブ配信空間に配置し、または既に配置されている仮想オブジェクトを動作させる。ステップS103では、現在の仮想カメラ620Bの位置および向きに応じた視界領域640Bを規定し、当該視界領域640Bに対応する視界画像660をタッチスクリーン15に表示する。
ステップS104では、現在時刻がライブ配信期間に予め設けられているエントリー期間内であるか否かを、例えば、ライブ配信期間識別情報の受信を開始してからの時間経過に基づいて判定する。当該エントリー期間内であると判定されたときは、ステップS105でエントリー受付処理を実行し、その後にステップS106に進む。一方、当該エントリー期間内であると判定されなかったときは、ステップS105の処理を実行することなくステップS106に進む。
ステップS106では、ライブ対戦パートへの切替えデータを受信したか否かを、通信IF13からの出力に基づいて判定する。当該切替えデータを受信したと判定されたときは、ステップS107に進み、図29(D)に示す切替え画面をタッチスクリーン15に表示するとともに、ユーザ側ライブ配信フラグをリセットする。切替え画面は、演者4のライブ対戦開始操作に基づくライブ対戦期間識別情報を受信するまで継続して表示される。ステップS107の処理が完了したとき、またはステップS106で切替えデータを受信したと判定されなかったときは、ステップS108で他の処理を実行し、その後にリターンする。
図32(B)に示すフローチャートを参照して、ステップS91では、演者4によってライブ対戦開始操作が行われたか否かを、タッチスクリーン45に対する入力操作に基づいて判定する。当該ライブ対戦開始操作が行われたと判定されたときは、ステップS92 に進む。ステップS92では、複数のユーザ端末100のうちライブ対戦にエントリーしたユーザ端末100に対して、ライブ対戦期間識別情報を配信する。また、ステップS92では、ライブ対戦が実行中であるか否かを識別するためのライブ対戦フラグをセットする。ステップS92の処理が完了したとき、またはステップS91においてライブ対戦開始操作が行われたと判定されなかったときは、ステップS93に進む。
ステップS93では、ライブ対戦が実行中であるか否かを、当該ライブ対戦フラグに基づいて判定する。当該ライブ対戦フラブがセットされていなければ、ライブ対戦が実行中であるとは判定せず、ステップS99で他の処理を実行した後にリターンする。一方、当該ライブ対戦フラグがセットされていれば、ライブ対戦が実行中であると判定し、ステップS94に進む。
ステップS94では、仮想空間600Bをライブ対戦空間として規定する。また、ステップS94では、ゲームプログラムに基づいて敵オブジェクト730を動作させ、複数のユーザ端末100から送信された操作情報に基づいて複数の兵士オブジェクト720を動作させる。ステップS95では、現在の仮想カメラ620Bの位置および向きに応じた視界領域640Bを規定し、当該視界領域640Bに対応する視界画像660をタッチスクリーン45に表示する。ステップS95の処理が完了するとステップS96に進み、ライブ対戦処理を実行する。当該ライブ対戦処理では、第2アバターオブジェクト610Bが動作し、当該第2アバターオブジェクト610BのHPおよびスコアと、敵オブジェクト730のHPとが更新される。
ステップS97では、演者4によってライブ対戦終了操作が行われたか否かをタッチスクリーン45に対する入力操作に基づいて判定する。当該ライブ対戦終了操作が行われたと判定されたときは、ステップS98に進み、ライブ配信パートへの切替えデータを複数のユーザ端末100に対して配信する。また、ステップS98では、ライブ対戦フラグをリセットする。一方、ステップS97においてライブ対戦終了操作が行われたと判定されなかったときはステップS99で他の処理を実行する。ステップS98またはS99の処理が完了すると、リターンする。
図33に示すフローチャートに戻って、ステップS109では、現在時刻がライブ対戦期間中であるか否かを判定する。ユーザ端末100のメモリ11にはユーザ側ライブ対戦フラグが設けられており、当該ユーザ側ライブ対戦フラグは配信端末400からライブ対戦期間識別情報を受信することによりセットされる。ステップS109では、当該ユーザ側ライブ対戦フラグに基づいて、ライブ対戦期間中であるか否かを判定する。当該ライブ対戦期間中と判定されなかったときはステップS108に進む一方、当該ライブ対戦期間中と判定されたときは、ステップS110に進む。
ステップS110では、仮想空間600Bをライブ対戦空間として規定する。また、ステップS110では、ゲームプログラムに基づいて敵オブジェクト730を動作させ、配信端末400から送信された操作情報に基づいて第2アバターオブジェクト610Bを動作させ、他ユーザのユーザ端末100から送信された操作情報に基づいて当該他ユーザの兵士オブジェクト720を動作させる。ステップS111では、現在の仮想カメラ620 Bの位置および向きに応じた視界領域640Bを規定し、当該視界領域640Bに対応する視界画像660をタッチスクリーン15に表示する。ステップS111の処理が完了すると、ステップS112でライブ対戦処理を実行する。ライブ対戦処理では、自ユーザの兵士オブジェクト720が動作し、当該兵士オブジェクト720のHPおよびスコアと、敵オブジェクト730のHPとが更新される。
ステップS113では、ライブ配信パートへの切替えデータを受信したか否かを、通信IF13からの出力に基づいて判定する。当該切替えデータを受信したと判定されたときは、ステップS114に進み、図29(F)に示す切替え画面をタッチスクリーン15に表示するとともに、ユーザ側ライブ対戦フラグをリセットする。切替え画面は、演者4のライブ配信開始操作に基づくライブ配信期間識別情報を受信するまで継続して表示される。ステップS114の処理が完了したとき、またはステップS113で切替えデータを受信したと判定されなかったときは、ステップS108に進む。
ステップS112に示すライブ対処理において、ユーザ端末100は、図34(A)および図34(B)に示すフローチャートに従う処理を含む処理を実行する。このうち、図34(A)に示すフローチャートは、バーチャルパッドVP1の操作に応じた処理の流れを示し、図34(B)に示すフローチャートは、バーチャルパッドVP2の操作に応じた処理の流れを示す。
図34(A)に示すフローチャートを参照して、ステップS121では、範囲RG1内においてタップ操作が行われたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。範囲RG1内においてタップ操作が行われたと判定されたときは、ステップS122に進み、兵士オブジェクト720をジャンプさせる。
範囲RG1内においてタップ操作が行われたと判定されなかったときは、ステップS123に進む。ステップS123では、操作体ST1に対するタッチ操作により開始されたドラッグ操作中である否かを、履歴情報テーブルに基づいて判定する。当該ドラッグ操作中であると判定されなかったときは、ステップS124で操作体ST1を範囲RG1の中心位置(基準位置)に配置し、その後にリターンする。一方、当該ドラッグ操作中であると判定されたときは、ステップS125に進む。
ステップS125では、範囲RG1の中心位置を始点とし、現在のタッチ位置を終点とするベクトルを作成する。ステップS126では、当該ベクトルに基づいて操作体ST1 を移動させる。即ち、現在のタッチ位置が範囲RG1内であれば、現在のタッチ位置に操作体ST1を移動させ、現在のタッチ位置が範囲RG1外であれば、当該ベクトルと外枠FR1との交点に操作体ST1を移動させる。ステップS127では、範囲RG1の中心位置と当該操作体ST1の現在位置とに応じた方向に兵士オブジェクト720を移動させる。
ステップS122またはS127の処理が完了すると、ステップS128に進み、ユーザの操作を特定可能にするための操作情報をサーバ200に送信する。即ち、ステップS122からステップS128に進んだときは、操作対象および操作態様がそれぞれバーチャルパッドVP1およびタップ操作であることを特定可能な情報と、ユーザIDとを含む操作情報を、サーバ200に対して送信する。一方、ステップS127からステップS128に進んだときは、操作対象および操作態様がそれぞれバーチャルパッドVP1およびドラッグ操作であることを特定可能な情報と、ステップS125で作成されたベクトルと、自ユーザのユーザIDとを含む操作情報を、サーバ200に対して送信する。ステップS128の処理が完了すると、リターンする。
図34(B)に示すフローチャートを参照して、ステップS131では、範囲RG2内においてタップ操作が行われたか否かを、タッチスクリーン15に対する入力操作に基づいて判定する。範囲RG2内においてタップ操作が行われたと判定されたときは、ステップS132に進み、バズーカ砲から弾を発射させる。
範囲RG2内においてタップ操作が行われたと判定されなかったときは、ステップS133に進む。ステップS133では、操作体ST2に対するタッチ操作により開始されたドラッグ操作中である否かを、履歴情報テーブルに基づいて判定する。当該ドラッグ操作中であると判定されなかったときは、ステップS134で操作体ST2を範囲RG2の中心位置(基準位置)に配置し、その後にリターンする。一方、当該ドラッグ操作中であると判定されたときは、ステップS135に進む。
ステップS135では、範囲RG1の中心位置を始点とし、現在のタッチ位置を終点とするベクトルを作成する。ステップS136では、当該ベクトルに基づいて操作体ST2 を移動させる。即ち、現在のタッチ位置が範囲RG2内であれば、現在のタッチ位置に操作体ST1を移動させ、現在のタッチ位置が範囲RG2外であれば、当該ベクトルと外枠FR2との交点に操作体ST2を移動させる。ステップS137では、範囲RG1の中心位置と当該操作体ST2の現在位置とに応じて、バズーカ砲の発射方向と仮想カメラ62
0Bの配置とを変更する。
具体的には、当該操作体ST2を左右方向に移動させたときは、バズーカ砲の発射方向、即ち兵士オブジェクト720の向きを、当該兵士オブジェクト720の体軸の上方から眺めて時計回り向または反時計回り方向に変更するとともに、兵士オブジェクト720を背後から捉えるように仮想カメラ620Bの位置および向きを変更する。また、当該操作体ST2を上下方向に移動させたときは、兵士オブジェクト720の両肩を結ぶ直線を軸として、バズーカ砲の発射方向を上下方向に変更するとともに、当該発射方向を捉えるように仮想カメラ620Bの位置および向きを変更する。
ステップS132またはS137の処理が完了すると、ステップS138に進み、ユーザの操作を特定可能にするための操作情報をサーバ200に送信する。即ち、ステップS132からステップS138に進んだときは、操作対象および操作態様がそれぞれバーチャルパッドVP2およびタップ操作であることを特定可能な情報と、ユーザIDとを含む操作情報を、サーバ200に対して送信する。一方、ステップS137からステップS138に進んだときは、操作対象および操作態様がそれぞれバーチャルパッドVP2およびドラッグ操作であることを特定可能な情報と、ステップS135で作成されたベクトルと、自ユーザのユーザIDとを含む操作情報を、サーバ200に対して送信する。ステップS138の処理が完了すると、リターンする。
配信端末400は、ステップS96のライブ対戦において、図34に示すフローチャートと同様の処理を実行する。ただし、ステップS132においてジャンプさせる対象が第2アバターオブジェクト610Bであり、ステップS137において移動させる対象が第2アバターオブジェクト610Bおよび当該第2アバターオブジェクト610Bの背後の仮想カメラ620Bである点を除き、図34に示すフローチャートの処理と同じであるため、重複した説明は省略する。
<本実施形態の効果>
本実施形態によれば、ユーザ端末100の仮想空間600Bは、ライブ配信パートにおいてライブ配信空間として規定される一方、ライブ対戦パートにおいてライブ対戦空間として規定される。ライブ配信パートにおいては、ユーザ端末100は、演者4のモーションをキャプチャして得たモーションデータに基づいて生成された動作指図データに基づいて、第1アバターオブジェクト610Aをライブ配信空間において動作させる。一方、ライブ対戦パートにおいては、ユーザ端末100は、演者4が配信端末400を操作することにより生成された操作情報に基づいて、第1アバターオブジェクト610Aと同じ外見の第2アバターオブジェクト610Bをライブ対戦空間において動作させる。
これにより、演者側のみならずユーザ側においても、パートに適した操作性で第1アバターオブジェクト610Aを動作させて順調に進行させることができる。即ち、操作性や進行度合いなどに不具合を生じさせることなく各パートを進行させることができる。この結果、好趣の向上が図られる。
また、本実施形態によれば、ライブ対戦パートでは、自ユーザの兵士オブジェクト720は、当該自ユーザが操作するユーザ端末100のバーチャルパッドVP1およびVP2 に対する入力に応じて動作する。一方、第2アバターオブジェクト610Bは、配信端末400のバーチャルパッドVP1およびVP2に対する入力に応じて動作する。これにより、演者4は、ユーザが兵士オブジェクト720を操作する態様と同じ態様で、第2アバターオブジェクト610Bを操作することができ、演者とユーザとの間において操作性に有利不利を生じさせてしまうことを防止できる。
さらに、本実施形態によれば、ライブ対戦パート中においては、兵士オブジェクト720と、第2アバターオブジェクト610Bと、敵オブジェクト730とが対戦し、各々の優劣を特定するためのスコアやHPが対戦の進行状況に応じて更新される。これにより、ユーザは、第2アバターオブジェクト610Bまたは敵オブジェクト730と優劣を競う形態の対戦パートを楽しむことができる。
また、本実施形態によれば、ライブ配信パートは、ユーザと第1アバターオブジェクト610Aとの間で対話が可能なパートである。これにより、ユーザは、当該対話によって深まった互いの関係性(例えば、趣味、嗜好等の共通点や相違点に対する理解に基づく信頼関係)を踏まえてライブ対戦を楽しむことができる。
さらに、本実施形態によれば、ライブ配信パートからライブ対戦パートに移行するとき、および、ライブ対戦パートからライブ配信パートに移行するとき、切替え画面がタッチスクリーン15に表示される。第1アバターオブジェクト610Aの視認は、当該切替え画面により制限される。この結果、HMD500の着脱によって挙動がおかしな第1アバターオブジェクト610Aがユーザ端末100に表示されるような不都合を回避することができる。
また、本実施形態によれば、ユーザ端末100の仮想空間600Bは、ライブ配信パートにおいてライブ配信空間として規定される一方、ライブ対戦パートにおいてライブ対戦空間として規定される。ライブ配信パートでは、花輪を模した装飾オブジェクトが背景オブジェクトとして当該仮想空間600Bに配置され、ライブ対戦パートでは、高層ビルを模した建物オブジェクトが背景オブジェクトとして当該仮想空間600Bに配置される。このように、共通の仮想空間600Bをライブ配信空間またはライブ対戦空間として規定することにより、ライブ配信パート用の仮想空間とライブ対戦パート用の仮想空間とを別個に設ける場合に比べて仮想空間を生成するために要する記憶容量を低減できる。
さらに、本実施形態によれば、ライブ配信パートにおいては、第1アバターオブジェクト610Aを動作させる契機となる演者4からの入力として、モーションキャプチャとは異なる態様で得た入力を有効に受け付けず、モーションキャプチャにより得た入力を有効に受け付ける。一方、ライブ対戦パートにおいては、第2アバターオブジェクト610B を動作させる契機となる演者4からの入力として、モーションキャプチャにより得た入力を有効に受け付けず、モーションキャプチャとは異なる態様で得た入力を有効に受け付ける。これにより、誤った処理が実行される不都合を回避することができる。
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
(1) 上記実施形態においては、ライブ対戦パートとして、第2アバターオブジェクト610Bおよび複数の兵士オブジェクト720が敵オブジェクト730と対戦する例について説明した。しかし、ライブ対戦パートは、第2アバターオブジェクト610Bおよび複数の兵士オブジェクト720の間で対戦させるものであってもよい。この場合、対戦はバトルロワイヤル形式で行われ、最後に生き残ったオブジェクトが勝者となる。また、ライブ対戦パートは、第2アバターオブジェクト610Bを敵オブジェクトとして、複数の兵士オブジェクト720が協力して第2アバターオブジェクト610Bと対戦するようにしてもよい。
(2) 上記実施形態においては、共通の仮想空間600Bをユーザ端末100のメモリ(RAM)11に設け、ライブ配信パートにおいては当該仮想空間600Bをライブ配信空間として規定する一方、ライブ対戦パートにおいては当該仮想空間600Bをライブ対戦空間として規定するようにしている。しかし、互いに異なる第1仮想空間および第2 仮想空間を、ライブ配信空間およびライブ対戦空間としてメモリ11に設けるようにしてもよい。
この場合、ライブ配信パートでは、第1仮想空間において第1アバターオブジェクト610Aを動作させるとともに、当該第1仮想空間に仮想カメラ620Bを配置する一方、ライブ対戦パートでは、第2仮想空間において第2アバターオブジェクト610Bを動作させるとともに、当該第2仮想空間に仮想カメラ620Bを配置するようにしてもよい。
また、ユーザ端末100は、ライブ配信パートにおいて、キャプチャとは異なる態様で得た入力によっては当該第1アバターオブジェクト610Aを動作させず、ゲームプレイ端末300から受信した動作指図データ(モーションデータを含むデータ)に基づいて当該第1アバターオブジェクト610Aを動作させる一方、ライブ対戦モードにおいて、キャプチャにより得た入力によっては当該第2アバターオブジェクト610Bを動作させず、配信端末400から受信した操作情報(キャプチャとは異なる態様で得た入力に応じたデータ)に基づいて当該第2アバターオブジェクト610Bを動作させるようにしてもよい。この結果、誤った処理がユーザ端末100において実行される不都合を回避することができる。
(3)    上記実施形態においては、ゲームプレイ端末300と配信端末400とは別体であり、ゲームプレイ端末300においてライブ配信空間を規定する一方、配信端末400においてライブ対戦空間を規定している。しかし、ゲームプレイ端末300と配信端末400とを一体化した上で、当該一体化した端末のメモリに共通の仮想空間を規定し、当該仮想空間をパートに応じてライブ配信空間とライブ対戦空間とで切り替えるようにしてもよい。
(4) 上記実施形態においては、ライブ配信パートおよびライブ対戦パートの間での遷移の際に、切替え画面がユーザ端末100のタッチスクリーン15に表示される。しかし、ライブ配信パートおよびライブ対戦パートの間での遷移の際に表示される画面は、第1アバターオブジェクト610Aをユーザが視認できない画像であれば、該切替え画面を表示するものに限らず、例えば、タッチスクリーン15の表示を暗転(黒画面を表示)させた画面であってもよく、また、所定のキャラクタが表示される演出画面であってもよい。
(5) 上記実施形態においては、ライブ対戦空間に配置された第2アバターオブジェクト610Bは、ユーザ端末100と同様のバーチャルパッドVP1およびVP2が表示された配信端末400を演者4が操作することにより生成された操作情報に基づいて動作する。しかし、物理的なジョイスティックやボタンを備える専用コントローラ(即ち、ユーザ端末100に表示されるバーチャルパッドVP1およびVP2とは操作性が異なるコントローラ)を用意し、演者4が当該専用コントローラを操作することにより生成された操作信号に基づいて第2アバターオブジェクト610Bを動作させるようにしてもよい。
(6) 上記実施形態においては、第1アバターオブジェクト610Aおよび第2アバターオブジェクト610Bは、互いに外見が同じオブジェクトである。しかし、顔と声とは互いに同じにする一方、服装や髪型は互いに異ならせるようにしてもよい。この場合、例えば、第1アバターオブジェクト610Aにはドレスを着用させる一方、第2アバターオブジェクト610Bには戦闘服を着用させるようにしてもよい。また、対戦の種類または当該対戦を構成するステージに応じて、服装や髪型を変化させるようにしてもよい。さらに、課金等によって複数や髪型を変化させるようにしてもよい。
(7) 上記実施形態においては、第1アバターオブジェクト610Aおよび第2アバターオブジェクト610Bの外見は、複数のユーザ端末100において共通する。しかし、当該外見は、ユーザ端末100に応じて異ならせるようにしてもよい。例えば、プレイ頻度の高いユーザや課金を行ったユーザのユーザ端末100には、ドレス等の豪華な衣装を着用した第1アバターオブジェクト610Aおよび第2アバターオブジェクト610B を登場させ、プレイ頻度の低いユーザのユーザ端末100には、Tシャツ等のシンプルな衣装を着用した第1アバターオブジェクト610Aおよび第2アバターオブジェクト610Bを登場させるようにしてもよい。
(8) 上記実施形態においては、ライブ対戦の舞台や敵オブジェクト730の容姿がユーザ間で共通する。しかし、当該ライブ対戦の舞台および敵オブジェクト730の容姿の少なくとも一方は、ユーザの所在地に応じて異ならせるようにしてもよい。この場合、ユーザの所在地の街並みに基づいて当該ユーザのライブ対戦の舞台を生成したり、当該所在地にゆかりの人物、動物、キャラクタ(ご当地キャラ)等に基づいて敵オブジェクト730の容姿を生成するようにしてもよい。
(9)    上記実施形態においては、エントリー期間はライブ配信期間に予め設けられており、当該エントリー期間は所定のタイミングで開始される。しかし、当該エントリー期間は、演者4の所定の操作により開始させるようにしてもよい。
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
(付記1):
本開示に示す一実施形態のある局面によれば、プロセッサ、メモリ、および入力部を備える端末装置(ユーザ端末100)において実行されるゲームプログラムであって、前記プロセッサに、仮想空間(600B)に配置されているキャラクタ(第1アバターオブジェクト、第2アバターオブジェクト)を動作させるステップ(S102、S110)と、前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能とするためのステップ(S103、S111)とを実行させ、前記動作させるステップは、第1パート(ライブ配信パート)においては、前記キャラクタを演じる演者(プレイヤ4)のモーションをキャプチャして得たモーションデータを含むデータ(動作指図データ) に基づいて前記キャラクタを動作させ(S102)、第2パート(ライブ対戦パート)においては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータ(操作情報)に基づいて前記キャラクタを動作させる(S110)。
(付記2):
(付記1)において、前記端末装置は、表示部と、音出力部と、配信端末装置(配信端末400)と通信する通信部とを備え、前記データは、前記配信端末装置から送信されるデータであり、前記第2パートは、ユーザからの入力であって前記入力部のうち所定操作を受け付ける所定操作入力部(バーチャルパッドVP1、VP2)への入力に応じて、前記キャラクタとは異なるユーザキャラクタ(兵士オブジェクト)を、前記キャラクタとともに前記仮想空間内において動作させるパートであり、前記第2パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力は、前記配信端末装置が備える入力部に対する入力であって、前記所定操作入力部と同じ前記所定操作を受け付け可能となる操作入力部(バーチャルパッドVP1、VP2)への入力である。
(付記3):
(付記2)において、前記第2パートは、前記キャラクタと前記ユーザキャラクタとを含む複数のキャラクタが対戦し、受け付けた所定操作の態様に応じて当該複数のキャラクタ各々の優劣(スコア、HP)が変化する対戦パートである。
(付記4):
(付記2)または(付記3)において、前記第1パートは、ユーザと前記キャラクタとの間でインタラクション可能なパートである。
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記プロセッサに、前記第1パートから前記第2パートに移行するとき、および、前記第2パートから前記第1パートに移行するときの少なくとも一方において、前記キャラクタを視認できない画像(切替え画面)を表示可能とするためのステップ(S107)を実行させる。
(付記6):
(付記1)から(付記5)のいずれかにおいて、前記プロセッサに、前記仮想空間内において前記キャラクタの背景として背景オブジェクトを配置するステップを実行させ、前記配置するステップは、前記第1パートにおいては、前記仮想空間内において第1の背景オブジェクトを配置し、前記第2パートにおいては、前記仮想空間と同じ仮想空間内において前記第1の背景オブジェクトとは異なる第2の背景オブジェクトを配置する。
(付記7):
(付記1)から(付記5)のいずれかにおいて、前記仮想空間としては、第1仮想空間と、第2仮想空間とが設けられており、前記第1パートにおいては、前記動作させるステップにより前記第1仮想空間において前記キャラクタを動作させ、前記表示可能とするためのステップにより前記第1仮想空間内における前記キャラクタを表示部に表示可能とし、前記第2パートにおいては、前記動作させるステップにより前記第2仮想空間において前記キャラクタを動作させ、前記表示可能とするためのステップにより前記第2仮想空間内における前記キャラクタを表示部に表示可能とする。
(付記8):
(付記6)または(付記7)において、前記プロセッサに、前記第1パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力として、前記キャプチャとは異なる態様で得た入力を有効に受け付けず、前記キャプチャにより得た入力を有効に受け付けるステップと、前記第2パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力として、前記キャプチャにより得た入力を有効に受け付けず、前記キャプチャとは異なる態様で得た入力を有効に受け付けるステップとを実行させる。
(付記9):
(付記7)において、前記プロセッサに、前記第1パートにおいて動作させるキャラクタとして第1キャラクタを前記第1仮想空間に配置するステップと、前記第2パートにおいて動作させるキャラクタとして第2キャラクタを前記第2仮想空間に配置するステップとを実行させ、前記第1キャラクタと前記第2キャラクタとは同一のキャラクタである。
(付記10):
(付記9)において、前記動作させるステップは、前記第1パートにおいては、前記キャプチャとは異なる態様で得た入力によっては前記第1キャラクタを動作させず、前記モーションデータを含むデータに基づいて前記第1キャラクタを動作させ、前記第2パートにおいては、前記キャプチャにより得た入力によっては前記第2キャラクタを動作させず、前記キャプチャとは異なる態様で得た入力に応じたデータに基づいて前記第2キャラクタを動作させる。
(付記11):
一実施形態のある局面によれば、プロセッサ、メモリ、および入力部を備える端末装置(ユーザ端末100)により実行されるゲーム方法であって、前記端末装置が、仮想空間(600B)に配置されているキャラクタ(第1アバターオブジェクト、第2アバターオブジェクト)を動作させるステップ(S102、S110)と、前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能とするためのステップ(S103、S111)とを備え、前記動作させるステップは、第1パート(ライブ配信パート)においては、前記キャラクタを演じる演者(プレイヤ4)のモーションをキャプチャして得たモーションデータを含むデータ(動作指図データ)に基づいて前記キャラクタを動作させ(S102)、第2パート(ライブ対戦パート)においては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータ(操作情報)に基づいて前記キャラクタを動作させる(S110)。
(付記12):
一実施形態のある局面によれば、端末装置(ユーザ端末100)であって、ゲームプログラムを記憶する記憶部(記憶部120)と、前記ゲームプログラムを実行することにより、前記端末装置の動作を制御する制御部(制御部110)とを備え、前記制御部は、仮想空間(600B)に配置されているキャラクタ(第1アバターオブジェクト、第2アバターオブジェクト)を動作させるステップ(S102、S110)と、前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能とするためのステップ(S103、S111)とを実行し、前記動作させるステップは、第1パート(ライブ配信パート)においては、前記キャラクタを演じる演者(プレイヤ4)のモーションをキャプチャして得たモーションデータを含むデータ(動作指図データ)に基づいて前記キャラクタを動作させ(S102)、第2パート(ライブ対戦パート)においては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータ(操作情報)に基づいて前記キャラクタを動作させる(S110)。
〔ソフトウェアによる実現例〕
ユーザ端末100、サーバ200、ゲームプレイ端末300(HMDセット1000)、および配信端末400の制御ブロック(特に制御部110、210、310、410) は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、ユーザ端末100、サーバ200、ゲームプレイ端末300(HMDセット1000)、および配信端末400は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 システム、2 ネットワーク、3、3A、3B ユーザ(第1ユーザ)、4   プレイヤ(演者)、10,20,30,40       プロセッサ、11,21,31,41 メモリ、12,22,32,42 ストレージ、13,23,33,43 通信IF、14,24,34,44 入出力IF、15,45 タッチスクリーン、17 カメラ、18 測距センサ、51 モニタ、52 注視センサ、53 第1カメラ、54 第2カメラ、55 マイク、56 スピーカ、100,100A,100B,100C ユーザ端末(コンピュータ、第1コンピュータ、第1情報処理装置)、110,210,310,410 制御部(第1制御部、第2制御部)、111,311,413  操作受付部、112,312,412 表示制御部、113,313 UI制御部、114,314    アニメーション生成部、115,315 ゲーム進行部、116,316              仮想空間制御部、117    動画再生部、120,220,320,420 記憶部(第1記憶部、第2記憶部)、131,231,331 ゲームプログラム(プログラム、第1プログラム)、132,232,332    ゲーム情報、133,233,333 ユーザ情報、151,451 入力部、152,452 表示部(ディスプレイ)、200 サーバ、211 通信仲介部、212 ログ生成部、213 リスト生成部、234,421 ユーザリスト、300 ゲームプレイ端末(外部装置、第2外部装置)、317     反応処理部、400 配信端末(外部、第1外部装置、コンピュータ、第2情報処理装置)、411 通信制御部、414 音声受付部、415 モーション特定部、416 動作指図データ生成部、422モーションリスト、423 配信プログラム(プログラム、第2プログラム)、540,1020,1021 コントローラ、500            HMD、510    HMDセンサ、520 モーションセンサ、530 ディスプレイ、600A、600B 仮想空間、610 アバターオブジェクト(キャラクタ)、620A,620B 仮想カメラ、631,632,633,634            オブジェクト、640A,640B 視界領域、650,660              視界画像、671 敵オブジェクト、672,673 障害物オブジェクト、674 演出オブジェクト、691,692 発話、701,702,703A,70B,704A,704B,705,706,711,711A,711B,711C,711D,722,723,745,745A,745B,745C,752,762,763,930,2011、2022、2031、2032、2033、2034、2037、2038、2051、2063、2072、2073、2075 UI画像(メッセージUI、UI)、721              ダウンロード画面、731 ユーザリスト画面(リスト)、732,732A,732B,732C,742,742A,742B,742C レコード画像、733,733A,733B,733C ユーザ名、734,734A,734B,734C タグ情報、735,735A,735B,735C アイコン、741              モーションリスト画面(選択肢)、743,743A,743B,743C            モーション名、744,744A,744B,744C,753 モーション画像、751 配信画面、761           配信完了画面、810A,810B              モーション動画、820A,820B 発話音声、910A,910B 動画、920A,920B 音声、1000 HMDセット、1010 物体、1030 記憶媒体

Claims (12)

  1. プロセッサ、メモリ、および入力部を備える端末装置において実行されるゲームプログラムであって、
    前記プロセッサに、
    仮想空間に配置されているキャラクタを動作させるステップと、
    前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能とするためのステップとを実行させ、
    前記動作させるステップは、
    第1パートにおいては、前記キャラクタを演じる演者のモーションをキャプチャして得たモーションデータを含むデータに基づいて前記キャラクタを動作させ、
    第2パートにおいては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータに基づいて前記キャラクタを動作させる、ゲームプログラム。
  2. 前記端末装置は、表示部と、音出力部と、配信端末装置と通信する通信部とを備え、前記データは、前記配信端末装置から送信されるデータであり、
    前記第2パートは、ユーザからの入力であって前記入力部のうち所定操作を受け付ける所定操作入力部への入力に応じて、前記キャラクタとは異なるユーザキャラクタを、前記キャラクタとともに前記仮想空間内において動作させるパートであり、
    前記第2パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力は、前記配信端末装置が備える入力部に対する入力であって、前記所定操作入力部と同じ前記所定操作を受け付け可能となる操作入力部への入力である、請求項1に記載のゲームプログラム。
  3. 前記第2パートは、前記キャラクタと前記ユーザキャラクタとを含む複数のキャラクタが対戦し、受け付けた所定操作の態様に応じて当該複数のキャラクタ各々の優劣が変化する対戦パートである、請求項2に記載のゲームプログラム。
  4. 前記第1パートは、ユーザと前記キャラクタとの間でインタラクション可能なパートである、請求項2または請求項3に記載のゲームプログラム。
  5. 前記プロセッサに、
    前記第1パートから前記第2パートに移行するとき、および、前記第2パートから前記第1パートに移行するときの少なくとも一方において、前記キャラクタを視認できない画像を表示可能とするためのステップを実行させる、請求項1~請求項4のいずれかに記載のゲームプログラム。
  6. 前記プロセッサに、
    前記仮想空間内において前記キャラクタの背景として背景オブジェクトを配置するステップを実行させ、
    前記配置するステップは、
    前記第1パートにおいては、前記仮想空間内において第1の背景オブジェクトを配置し、
    前記第2パートにおいては、前記仮想空間と同じ仮想空間内において前記第1の背景オブジェクトとは異なる第2の背景オブジェクトを配置する、請求項1~請求項5のいずれかに記載のゲームプログラム。
  7. 前記仮想空間としては、第1仮想空間と、第2仮想空間とが設けられており、
    前記第1パートにおいては、前記動作させるステップにより前記第1仮想空間において前記キャラクタを動作させ、前記表示可能とするためのステップにより前記第1仮想空間内における前記キャラクタを表示部に表示可能とし、
    前記第2パートにおいては、前記動作させるステップにより前記第2仮想空間において前記キャラクタを動作させ、前記表示可能とするためのステップにより前記第2仮想空間内における前記キャラクタを表示部に表示可能とする、請求項1~請求項5のいずれかに記載のゲームプログラム。
  8. 前記プロセッサに、
    前記第1パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力として、前記キャプチャとは異なる態様で得た入力を有効に受け付けず、前記キャプチャにより得た入力を有効に受け付けるステップと、
    前記第2パートにおいて前記キャラクタを動作させる契機となる前記演者からの入力として、前記キャプチャにより得た入力を有効に受け付けず、前記キャプチャとは異なる態様で得た入力を有効に受け付けるステップとを実行させる、請求項6または請求項7に記載のゲームプログラム。
  9. 前記プロセッサに、
    前記第1パートにおいて動作させるキャラクタとして第1キャラクタを前記第1仮想空間に配置するステップと、
    前記第2パートにおいて動作させるキャラクタとして第2キャラクタを前記第2仮想空間に配置するステップとを実行させ、
    前記第1キャラクタと前記第2キャラクタとは同一のキャラクタである、請求項7に記載のゲームプログラム。
  10. 前記動作させるステップは、
    前記第1パートにおいては、前記キャプチャとは異なる態様で得た入力によっては前記第1キャラクタを動作させず、前記モーションデータを含むデータに基づいて前記第1キャラクタを動作させ、
    前記第2パートにおいては、前記キャプチャにより得た入力によっては前記第2キャラクタを動作させず、前記キャプチャとは異なる態様で得た入力に応じたデータに基づいて前記第2キャラクタを動作させる、請求項9に記載のゲームプログラム。
  11. プロセッサ、メモリ、および入力部を備える端末装置により実行されるゲーム方法であって、
    前記端末装置が、
    仮想空間に配置されているキャラクタを動作させるステップと、
    前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能とするためのステップとを備え、
    前記動作させるステップは、
    第1パートにおいては、前記キャラクタを演じる演者のモーションをキャプチャして得たモーションデータを含むデータに基づいて前記キャラクタを動作させ、
    第2パートにおいては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータに基づいて前記キャラクタを動作させる、ゲーム方法。
  12. 端末装置であって、
    ゲームプログラムを記憶する記憶部と、
    前記ゲームプログラムを実行することにより、前記端末装置の動作を制御する制御部とを備え、
    前記制御部は、
    仮想空間に配置されているキャラクタを動作させるステップと、
    前記仮想空間内における所定の視点から見た前記キャラクタを所定の表示部に表示可能
    とするためのステップとを実行し、前記動作させるステップは、
    第1パートにおいては、前記キャラクタを演じる演者のモーションをキャプチャして得たモーションデータを含むデータに基づいて前記キャラクタを動作させ、
    第2パートにおいては、前記演者からの入力であって前記キャプチャとは異なる態様で得た入力に応じたデータに基づいて前記キャラクタを動作させる、端末装置。
     
PCT/JP2020/024484 2019-06-24 2020-06-23 ゲームプログラム、ゲーム方法、および端末装置 WO2020262331A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20832780.9A EP3988190A4 (en) 2019-06-24 2020-06-23 GAME PROGRAM, GAME METHOD AND TERMINAL DEVICE
KR1020227001590A KR20220024630A (ko) 2019-06-24 2020-06-23 게임 프로그램, 게임 방법, 및 단말 장치
US17/622,111 US20220355188A1 (en) 2019-06-24 2020-06-23 Game program, game method, and terminal device
CN202080044813.4A CN114007706A (zh) 2019-06-24 2020-06-23 游戏程序、游戏方法以及终端装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-116731 2019-06-24
JP2019116731A JP6826635B2 (ja) 2019-06-24 2019-06-24 ゲームプログラム、ゲーム方法、および端末装置

Publications (1)

Publication Number Publication Date
WO2020262331A1 true WO2020262331A1 (ja) 2020-12-30

Family

ID=73993650

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/024484 WO2020262331A1 (ja) 2019-06-24 2020-06-23 ゲームプログラム、ゲーム方法、および端末装置

Country Status (6)

Country Link
US (1) US20220355188A1 (ja)
EP (1) EP3988190A4 (ja)
JP (1) JP6826635B2 (ja)
KR (1) KR20220024630A (ja)
CN (1) CN114007706A (ja)
WO (1) WO2020262331A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7254112B2 (ja) * 2021-03-19 2023-04-07 本田技研工業株式会社 仮想体験提供装置、仮想体験提供方法、及びプログラム
JP7392957B2 (ja) * 2022-03-29 2023-12-06 グリー株式会社 コンピュータプログラム、方法及びサーバ装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017212237A (ja) * 2017-09-12 2017-11-30 マイクロ波化学株式会社 加熱装置、および加熱方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3342393B2 (ja) * 1998-03-19 2002-11-05 株式会社コナミコンピュータエンタテインメントジャパン ビデオゲーム装置、コンピュータ読み取り可能な記録媒体
US8419545B2 (en) * 2007-11-28 2013-04-16 Ailive, Inc. Method and system for controlling movements of objects in a videogame
JP2011512054A (ja) * 2007-12-21 2011-04-14 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 模倣した演技をシーンに挿入し、同一性の評価を付与するスキーム
WO2011122214A1 (ja) * 2010-03-30 2011-10-06 株式会社カプコン プログラム及びそのプログラムを記録した記録媒体
JP2012212237A (ja) * 2011-03-30 2012-11-01 Namco Bandai Games Inc 画像生成システム、サーバシステム、プログラム及び情報記憶媒体
JP5480347B2 (ja) * 2012-08-31 2014-04-23 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP5563633B2 (ja) * 2012-08-31 2014-07-30 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
CN107890664A (zh) * 2017-10-23 2018-04-10 网易(杭州)网络有限公司 信息处理方法及装置、存储介质、电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017212237A (ja) * 2017-09-12 2017-11-30 マイクロ波化学株式会社 加熱装置、および加熱方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AKITO IGARASHI: ""REALITY Avatar" that you can easily debut on VTuber on your smartphone, thorough explanation of how to use it!", MOGULIVE, 18 November 2018 (2018-11-18), XP055781277, Retrieved from the Internet <URL:https://www.moguravr.com/reality-avatar-3> [retrieved on 20200831] *
ANONYMOUS: "Flappin' Avatar", REALITY, 1 April 2019 (2019-04-01), XP055781386, Retrieved from the Internet <URL:reality-notice.wrightflyer.net/aba0a23e90b9c3df9c819fc58bd39f09a0452aac.html> [retrieved on 20200902] *
REALITY, 13 June 2019 (2019-06-13), Retrieved from the Internet <URL:https://le.wrightflyer.net/reality>
See also references of EP3988190A4
YUTA YANAGISHIMA: "The new video distribution service "& CAST !!!" becomes the "starting point for IP creation"! ??", GAME WATCH, 14 March 2018 (2018-03-14), XP055781390, Retrieved from the Internet <URL:https://game.watch.impress.co.jp/docs/interview/1111364.html> [retrieved on 20200831] *

Also Published As

Publication number Publication date
JP2021000387A (ja) 2021-01-07
CN114007706A (zh) 2022-02-01
JP6826635B2 (ja) 2021-02-03
EP3988190A1 (en) 2022-04-27
EP3988190A4 (en) 2023-06-14
KR20220024630A (ko) 2022-03-03
US20220355188A1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
JP6776400B1 (ja) プログラム、方法、および情報端末装置
JP6776393B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
JP7344189B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
WO2022202126A1 (ja) プログラム、方法、および情報処理装置
JP6726345B1 (ja) プログラム、方法、および端末装置
JP2021039731A (ja) プログラム、方法、および端末装置
WO2020262331A1 (ja) ゲームプログラム、ゲーム方法、および端末装置
WO2020255991A1 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP6813618B2 (ja) 視聴プログラム、視聴方法、視聴端末、配信プログラム、配信方法、および情報端末装置
JP7361736B2 (ja) ゲームプログラム、ゲーム方法、および端末装置
WO2020262332A1 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP7332562B2 (ja) プログラム、方法、および情報端末装置
WO2021039346A1 (ja) プログラム、方法、および情報処理端末
JP6818106B1 (ja) プログラム、方法、および視聴端末
JP6813617B2 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP2021053406A (ja) プログラム、方法、および端末装置
JP2021056818A (ja) プログラム、方法、および端末装置
JP7440401B2 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP7341976B2 (ja) 配信プログラム、および配信方法
JP6871964B2 (ja) 配信プログラム、配信方法、および情報端末装置
JP2021053453A (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP2022028694A (ja) プログラム、方法、および情報端末装置
JP2021053455A (ja) プログラム、方法、および視聴端末
JP2021058625A (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: 20832780

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20227001590

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020832780

Country of ref document: EP

Effective date: 20220124