WO2019167946A1 - ゲーム実行装置およびゲームプログラム - Google Patents

ゲーム実行装置およびゲームプログラム Download PDF

Info

Publication number
WO2019167946A1
WO2019167946A1 PCT/JP2019/007321 JP2019007321W WO2019167946A1 WO 2019167946 A1 WO2019167946 A1 WO 2019167946A1 JP 2019007321 W JP2019007321 W JP 2019007321W WO 2019167946 A1 WO2019167946 A1 WO 2019167946A1
Authority
WO
WIPO (PCT)
Prior art keywords
game
event
unit
notification target
data
Prior art date
Application number
PCT/JP2019/007321
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 CN201980006188.1A priority Critical patent/CN111447979B/zh
Priority to US16/650,361 priority patent/US11065540B2/en
Publication of WO2019167946A1 publication Critical patent/WO2019167946A1/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/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • 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/45Controlling the progress of the video game
    • A63F13/47Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • 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/87Communicating with other players during game play, e.g. by e-mail or chat
    • 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/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/305Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for providing a graphical or textual hint to the player
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • A63F2300/577Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player for watching a game played by other players

Definitions

  • the present invention relates to a game execution device or program that provides an interactive game experience.
  • Video games can be broadly classified into stand-alone type games or online games (for example, cloud games, MO (Multiplayer Online) games, MMO (Massively Multiplayer Online) games). Online games can be further classified into C / S (Client / Server) type and P2P (Peer to Peer) type.
  • the stand-alone type game and the P2P type online game are realized by a player terminal executing a game program, and one or a few tens of players play.
  • a game server connected to the player's terminal executes at least a part of the game program.
  • MMO type game hundreds to millions of players are networked. You can play at the same time.
  • the basic mechanism of a video game is that a player recognizes a game screen, sound, vibration, etc., which are the output of a game program, makes a judgment based on this, inputs an operation, and the game program is based on the operation. This is a repeated exchange between the player and the game program in which the game state is changed to generate further output.
  • the game live broadcasting is a content sharing method in which a player (distributor) plays a game in real time to a large number of audiences. According to the game live broadcast, the audience other than the player can also experience and enjoy the game in a simulated manner.
  • audience can comment on live video.
  • comments made by the audience can be viewed in real time by the distributor in addition to other audiences.
  • Distributors can play according to advice comments or request comments from the audience, and the audience can further comment, etc. to create an interactive game experience.
  • Japanese Patent Laid-Open No. 2016-189804 discloses that a comment input during viewing of a game play video is acquired and aggregated, and an effect method is selected [0011].
  • Japanese Unexamined Patent Publication No. 2016-189804 different presentation methods for effects, background materials, and screen decorations are defined, but the contents of the game play itself do not change in any of the presentation methods. Is only changed ([0085], [FIG. 18]).
  • the influence on the game progress of the audience is limited only by the mechanism that the audience can comment on the live broadcast video and the distributor can view it. For example, if the distributor overlooks or ignores the comment, no matter how much the audience comments, the audience comment does not affect the progress of the game. In this way, in the conventional live game broadcasting, only the distributor can directly participate in the progress of the game, so the intention of the audience does not affect the progress of the game regardless of the intention of the distributor.
  • the audience of the live game broadcast can be able to intervene in the progress of the game by, for example, generating (sub) events such as dropping items.
  • generating (sub) events such as dropping items.
  • an event due to the audience's intervention also occurs. Become. This means that more events can occur than when only the player plays the game.
  • Japanese Unexamined Patent Publication No. 2013-135761 discloses that a message having the highest priority is selected not to be thinned out in order to suppress an increase in control load in displaying a non-player character message ([0007]). For example, it is described that selection (decimation) is appropriately made based on the priority ([0063]).
  • the present invention aims to avoid the adverse effects associated with notifications when events occur in a short period of time.
  • the game execution device includes a reception unit, an event control unit, a selection unit, and a generation unit.
  • the receiving unit receives an event generation request based on the execution request from an auxiliary server that receives an execution request for intervention on the game issued by a spectator's terminal of the game real-time play video.
  • the event control unit controls an event occurring on the game at least in response to the generation request.
  • the selection unit selects a notification target event up to a predetermined number of first events that occur on the game within the first period.
  • the generation unit generates notification data that notifies the game player of the occurrence of the notification target event.
  • FIG. 1 is a block diagram illustrating an example of a real-time play video distribution system for a game including a game server according to the first embodiment.
  • FIG. 2 is a block diagram illustrating the game server of FIG.
  • FIG. 3 is a diagram illustrating a priority table.
  • FIG. 4 is a conceptual diagram of an operation related to event notification of the game server of FIG.
  • FIG. 5 is a diagram illustrating an example of notification data.
  • FIG. 6 is a diagram illustrating another example of notification data.
  • FIG. 7 is a flowchart illustrating the operation of the game server of FIG.
  • FIG. 8 is a flowchart illustrating details of step S740 in FIG.
  • FIG. 9 is a block diagram illustrating an example of a real-time play video distribution system for a game including a distributor terminal according to the second embodiment.
  • FIG. 10 is a block diagram illustrating the distributor terminal of FIG.
  • the game server according to the first embodiment can be incorporated into a real-time play video distribution system of a game exemplified in FIG.
  • This distribution system includes a distributor terminal 100, a moving image distribution server 200, audience terminals 300-1, 300-2,..., An auxiliary server 400, and a game server 500.
  • the video distribution server 200 displays a real-time play video of a C / S-type online game executed on the distributor terminal 100 (client) and the game server 500 (server) as the audience terminal 300 (and distributor). To the terminal 100).
  • the game may be, for example, a game for raising artificial life forms.
  • the player moves the artificial life form to a virtual world called a field, and enjoys watching the ecology and the state that the artificial life form forms a group (clan) and coexists with other groups.
  • other effective objects can be dropped onto the field.
  • auxiliary server 400 uses the auxiliary server 400 to perform such an intervention, and together with the player (distributor), a favorite artificial life form and a family to which it belongs. You can support it, or you can interfere with hostile activities.
  • Distributor terminal 100 executes a game program (client side program).
  • the distributor terminal 100 receives the execution result of the game program (server-side program) from the game server 500, and outputs the game screen / sound (which may include vibration or other feedback). Recognize output.
  • the execution result of the game program may be, for example, the game screen / sound (encoded data) itself or data necessary for generating the game screen / sound such as the game state. May be.
  • the game screen / sound itself can be transmitted to the distributor terminal 100.
  • the distributor terminal 100 determines game material data, for example, image data such as characters, objects, backgrounds, visual effects (visual effects), and sound effects in order to determine drawing of the game screen and output sound.
  • Sound data such as (SE: Sound Effect), BGM (background music), and character voice (Character Voice), vibration patterns, etc. need to be stored in the main memory or auxiliary storage device.
  • the player recognizes the output from the distributor terminal 100 and inputs an operation to the distributor terminal 100 based on the output.
  • Distributor terminal 100 transmits player operation data to game server 500.
  • the distributor terminal 100 sequentially encodes the game screen / sound and, if necessary, additional images / sounds, and transmits (uploads) the encoded data to the moving image distribution server 200.
  • the additional image / sound may include, for example, an image taken of the distributor, live audio of the distributor, and the like.
  • Distributor terminal 100 is an electronic device such as a computer that can execute a game program (client-side program), such as a PC (Personal Computer), a mobile terminal (eg, tablet, smartphone, laptop, feature phone, portable game machine, Digital music player, electronic book reader, etc.), VR (Virtual Reality) terminal, AR (Augmented Reality) terminal, game machine, TV receiver (including Internet TV), etc., but are not limited thereto.
  • client-side program such as a PC (Personal Computer)
  • mobile terminal eg, tablet, smartphone, laptop, feature phone, portable game machine, Digital music player, electronic book reader, etc.
  • VR Virtual Reality
  • AR Augmented Reality
  • game machine e.g., PlayStation 4, etc.
  • TV receiver including Internet TV
  • Distributor terminal 100 is physically separated into a device that executes a game program (game execution device) and a device that encodes image / sound and transmits encoded multimedia data (encoding / uploading device). May be.
  • the game screen / audio data may or may not be output directly from the game execution device to the encoding / uploading device.
  • the encoding / uploading device can capture the game screen / audio data by, for example, photographing the screen of the display device connected to the game execution device and recording the output sound from the speaker.
  • the video distribution server 200 is connected to the distributor terminal 100 and the audience terminal 300 via a network, and can transmit and receive data to and from each other.
  • the video distribution server 200 sequentially receives encoded data from the distributor terminal 100 and transmits it to the audience terminal 300.
  • the audience terminal 300 issues an intervention request for intervention on the game based on the operation input from the user, and transmits it to the auxiliary server 400.
  • the audience terminal 300 may be an electronic device similar to the distributor terminal 100. However, the audience terminal 300 does not need the ability to execute the game program.
  • the auxiliary server 400 is connected to the spectator terminal 300 and the game server 500 via a network.
  • the auxiliary server 400 receives an intervention execution request from the spectator terminal 300 and transmits an event generation request based on the request to the game server 500.
  • the event generation request may include, for example, data indicating the type of event to be requested and data indicating a spectator who is the subject of the request (hereinafter referred to as a requester).
  • a requester data indicating indicating a spectator who is the subject of the request.
  • events and sub-events are not distinguished, and both are referred to as events.
  • auxiliary server 400 By operating the auxiliary server 400 in this way, for example, at least a part of the viewer's intention to view the real-time play video of the game affects the progress of the game, and eventually the real-time play video viewed by the audience. It is possible to realize an interactive and highly integrated game experience.
  • the auxiliary server 400 may accept an intervention request from the spectator terminal 300 with a condition. Specifically, the auxiliary server 400 may allow the audience to intervene in the game on the condition that payment (hereinafter also referred to as intervention consideration) is paid.
  • the intervention consideration may be represented by actual goods or may be represented by virtual goods (including points) that can be used in the video distribution service.
  • the spectator wants to perform an intervention in the game, he / she operates the spectator terminal 300 after agreeing to pay the intervention price displayed on the spectator terminal 300 and issues an execution request.
  • the auxiliary server 400 receives the intervention execution request from the spectator terminal 300, the auxiliary server 400 executes the intervention on the game in exchange for the intervention consideration displayed on the spectator terminal 300 when the request is issued.
  • the payment processing for the intervention consideration may be performed by the auxiliary server 400 or a payment server different from the auxiliary server 400.
  • the game server 500 is connected to the distributor terminal 100 via a network and can send and receive data to and from each other.
  • the game server 500 executes a game program.
  • the game server 500 according to the first embodiment can be called a game execution device.
  • the game server 500 changes the game state based on the player operation data transmitted from the distributor terminal 100 and the event generation request from the auxiliary server 400.
  • the game server 500 sequentially transmits the execution result of the game program to the distributor terminal 100.
  • the game server 500 notifies the player of the occurrence of at least a part of an event that occurs based on the player's operation data and an event generation request and an event that automatically occurs according to the progress of the game. To generate notification data.
  • the game server 500 limits the number of events to be notified within a unit period, and even if the occurrence of events is concentrated in a short period of time, a predetermined number (for example, one) is used. Do not notify more events. Thereby, it is possible to avoid the failure of the game experience provided to the player and the audience while allowing the player and the audience to grasp the game state to some extent. Further, the load on the game server 500 accompanying the notification does not increase beyond a certain upper limit.
  • the number of devices shown in FIG. 1 is merely an example. For example, since the number of spectator terminals 300 changes from moment to moment, it may be zero, and may be hundreds or thousands. Further, a Web server or a comment distribution server not shown in FIG. 1 may be further provided.
  • the game server 500 is a computer, for example, a processor that performs input / output control, communication control, and game execution (that is, event control, selection of a notification target event described later, generation of notification data, etc.). Including.
  • the game server 500 includes a memory that temporarily stores a program executed by the processor and data used by the processor in order to realize such processing.
  • the game server 500 may handle all data in an on-memory state, or some data may be saved in the auxiliary storage device.
  • the auxiliary storage device may be, for example, an HDD (Hard Disc Drive), an SSD (Solid State Drive), a flash memory, or the like built in or externally attached to the game server 500, or a database server accessible from the game server 500. It may be.
  • the game server 500 may be a combination of a plurality of computers.
  • the function units of the game server 500 for example, the communication unit 510, the game execution unit 520, and various storage units, which will be described later, may be distributed and implemented in separate computers.
  • the game server 500 can further use a communication I / F (interface) for connecting to a network.
  • the communication I / F may be built in the game server 500 or may be externally attached to the game server 500.
  • the communication I / F may be a module for communicating with the distributor terminal 100 and the auxiliary server 400 via a network.
  • the communication I / F receives player operation data from the distributor terminal 100, and conversely transmits the execution result of the game program to the distributor terminal 100.
  • the communication I / F receives an event generation request from the auxiliary server 400.
  • the communication I / F can receive requester attribute data (described later) from the auxiliary server 400 or the moving image distribution server 200.
  • the game server 500 of FIG. 2 includes a communication unit 510, a game execution unit 520, and various storage units.
  • the communication unit 510 may be the communication I / F described above, for example, and receives data from an external device such as the distributor terminal 100 or the auxiliary server 400 via the network, or transmits data to the external device.
  • communication unit 510 includes a reception unit 511 and a transmission unit 512.
  • the receiving unit 511 receives player operation data from the distributor terminal 100.
  • the receiving unit 511 receives an event generation request from the auxiliary server 400.
  • the receiving unit 511 receives audience attribute data from the auxiliary server 400 or the moving image distribution server 200.
  • the receiving unit 511 sends these received data to the game execution unit 520.
  • the reception unit 511 sends the audience attribute data to the attribute acquisition unit 521.
  • the attribute data does not necessarily have to be independent of the event generation request, and the attribute data of the requester may be added to the event generation request.
  • the receiving unit 511 sends at least the player operation data and the event generation request to the event control unit 522.
  • the transmission unit 512 receives the execution result of the game program from the game execution unit 520 and transmits it to the distributor terminal 100.
  • the execution result of the game program includes at least data indicating an event occurring in the game and notification data described later.
  • the execution result may be a game screen / sound (encoded data thereof) or may be data necessary for generating a game screen / sound such as a game state.
  • the data indicating the event may include, for example, the event ID, the event type, the event occurrence time and location
  • the notification data may include the ID of the event to be notified, and further required.
  • data indicating the notification mode (for example, notification order and notification time) may be included.
  • the game execution unit 520 may be the aforementioned processor and memory, and executes a game program (server-side program).
  • the game execution unit 520 receives data such as player operation data and event generation requests from the communication unit 510, reads out necessary data from various storage units, changes the game state based on these data, and sends notification data. Or generate. For example, the game execution unit 520 adds a new character, item, object, or the like to the virtual space, deletes an existing character, item, object, or the like from the virtual space, or changes its state.
  • the game execution unit 520 returns the execution result to the communication unit 510.
  • the game execution unit 520 includes an attribute acquisition unit 521, an event control unit 522, a notification target selection unit 523, and a notification data generation unit 524.
  • the attribute acquisition unit 521 acquires attribute data indicating the attributes of the requester or the audience via the communication unit 510.
  • the attribute acquisition unit 521 stores the attribute data in the attribute storage unit 531.
  • Requester's attributes can be supplementarily referenced in the selection of notification target events. That is, when events are selected in descending order of priority, which will be described later, if the number of candidates exceeds a predetermined number (the upper limit number of notification target events), candidates can be narrowed down based on the attributes of the requester. However, the attribute of the requester may not be used at all in selecting the notification target event. In this case, the attribute acquisition unit 521 and the attribute storage unit 531 can be deleted.
  • the attribute of the requester may include, for example, the time when the requester started viewing the real-time play video of the game. Such information can be obtained from the moving image distribution server 200, for example. Also, the requester's attributes may include the time that the requester requested to perform an intervention. Such information can be obtained from the auxiliary server 400, for example. Furthermore, the attribute of the requester is the number of times that an event that occurred on the game in response to a request from the requester in the real-time play video of the game was selected as a notification target event (in any unit period) (adoption of the notification target event Number of times). Such information can be managed in the game server 500 based on the output of the notification target selection unit 523, for example. Specifically, the notification target selection unit 523 may increment the notification target event adoption count stored in the attribute storage unit 531 by 1 for each requester of the notification target event in the unit period.
  • the event control unit 522 receives player operation data and an event generation request from the reception unit 511. Since the player operation data and the event generation request are independent data, the event control unit 522 receives them at independent timings.
  • the event control unit 522 controls an event that occurs on the game in accordance with each of the player operation data and the event generation request. Further, depending on the specifications of the game program, the event control unit 522 may generate an event according to the progress of the game even when neither the operation data of the player nor the event generation request is received.
  • the event control unit 522 sends data indicating an event occurring on the game to the transmission unit 512 and the notification target selection unit 523.
  • the event control unit 522 is not a transmission unit 512 but a game screen / sound generation unit (not shown). Data indicating an event occurring in the game may be sent.
  • the notification target selection unit 523 receives data indicating an event occurring on the game from the event control unit 522. For each unit period, the notification target selection unit 523 selects a notification target event up to a predetermined number of events that occur on the game within the unit period. The notification target selection unit 523 sends data indicating the notification target event to the notification data generation unit 524.
  • the predetermined number may be one or plural. Further, the predetermined number may be a fixed value or a variable value. For example, human cognitive ability regarding in-game event notification is considered to be somewhat different depending on the information processing ability of the person and the play experience of the game, so that the distributor or audience can freely set a predetermined number. Good.
  • the unit period may be a fixed length or a variable length.
  • the notification target selection unit 523 may select the notification target events in descending order of priority defined in advance for each event type. Or the notification object selection part 523 may select a notification object event at random, and may select a notification object event in order with the early or late generation
  • the notification target selection unit 523 reads the priority assigned to the event type for each event that occurs within the unit period from the priority storage unit 533.
  • FIG. 3 shows an example of a priority table for associating event types with their priorities.
  • the priorities are given in five stages from 5 (highest) to 1 (lowest).
  • an ⁇ mark is added to an event in which the audience can participate, that is, an event that can be requested to occur. Therefore, for example, the predetermined number is “1”, “Food (low value) dropped on the field” (priority 1), “Object effect activated” (priority 3), “New artificial life” If “the body was dropped on the field” (priority 4) occurs within the same unit period, the notification target selection unit 523 notifies “the new artificial life form dropped on the field” having the highest priority. Select as a target event. Note that FIG. 3 is merely an example, and it is possible to assign priorities differently from those in FIG.
  • the notification target selection unit 523 is assigned a priority equal to the boundary value when the number of events that occur within the unit period is assigned a priority equal to or higher than the boundary value. A part of the event may be selected as a notification target event based on the attribute of the requester.
  • the notification target selection unit 523 reads out the attribute data of each requester of the event assigned the priority equal to the boundary value from the attribute storage unit 531.
  • attribute data may be determined by default for an event for which there is no requester, for example, an event that occurs based on player operation data or an event that automatically occurs as the game progresses. Good.
  • the notification target selection unit 523 may preferentially handle an event that occurs due to a request from a requester who has started watching a real-time play video of a game. Thereby, for example, floating customers can be expected to be established. Conversely, the notification target selection unit 523 may preferentially handle an event that occurs due to a request from a requester whose time for starting the viewing of a real-time play video of a game is early. This can be expected to maintain or improve the viewing / intervention motivation of fixed customers.
  • the notification target selection unit 523 may preferentially handle an event that occurs due to a request from a requester that has a small number of times of adopting a notification target event. As a result, the intervention by each requester is easily noticed evenly, so that the request / intervention motivation of each requester is less likely to decrease. Furthermore, the notification target selection unit 523 may preferentially handle an event that occurs due to a request from an early or late requester who requested the implementation of the intervention.
  • the notification target selection unit 523 may narrow down candidates based on one attribute or narrow down candidates based on a plurality of attributes. In the latter example, some attributes may be combined and indexed, and candidates may be narrowed down based on this index, or candidates may be narrowed down based on a single attribute in order.
  • the notification target selection unit 523 displays the events that are assigned a priority equal to the boundary value. Some of them may be randomly selected as notification target events. In addition, the notification target selection unit 523 may randomly select a notification target event from the remaining candidates when the candidates are not sufficiently narrowed down using the above-described requester attributes.
  • the notification target selection unit 523 can select all events as notification target events. Furthermore, if the number of events that occur within a unit period falls below a predetermined number, even if all events that occur within the unit period are notified, the resource for event notification (time and / or screen space) ) Will be vacant. Therefore, in such a case, the notification target selection unit 523 selects an event that has occurred in the past unit period and has not been selected as a notification target event in the past unit period (hereinafter referred to as an unreported event). The event to be notified in the current unit period may be further selected. As a result, it is possible to notify the player and the audience of the occurrence of more events within a range that does not exceed the recognition ability of the player and the audience.
  • the notification target selection unit 523 selects a notification target event for each unit period, and stores data indicating an unreported event in the unit period in the unreported event storage unit 534 in association with data indicating the unit period, for example. To do. Then, the notification target selection unit 523 reads data indicating an unnotified event from the unnotified event storage unit 534 when the number of events that occur within the unit period is less than a predetermined number.
  • the notification target selection unit 523 may determine a part of the unreported event as the notification target event in consideration of, for example, the above-described priority and requester attributes. In addition, the notification target selection unit 523 may further consider the elapsed time from the occurrence of the unreported event. For example, the notification target selection unit 523 may preferentially handle an unnotified event having a short elapsed time since occurrence. Accordingly, the occurrence of an event that is too old is notified, and on the contrary, it is possible to avoid the player and the audience from being confused.
  • the notification target selection unit 523 may delete data indicating an unnotified event whose elapsed time is equal to or greater than a threshold from the unnotified event storage unit 534 without directly considering the elapsed time from the occurrence of the unnotified event,
  • the number of stored data in the unreported event storage unit 534 may be limited to the latest U (U is an arbitrary natural number).
  • the notification data generation unit 524 receives data indicating the notification target event from the notification target selection unit 523, and notifies the game player of the occurrence of the notification target event (that is, finally notifies the audience). Generate. The notification data generation unit 524 sends the notification data to the transmission unit 512.
  • the notification data is used for superimposing (for example, picture-in-picture display) image data for notifying the player of the occurrence of the notification target event on the game screen displayed on the distributor terminal 100.
  • It can be data.
  • the notification data may be the image data itself, or may be data necessary for rendering the image data in the distributor terminal 100.
  • the image data may include information on the time and / or place where the notification target event occurs. Thereby, the player and the audience can recognize the game state more accurately.
  • the image data may include information on the requester of the notification target event. As a result, maintenance or improvement of the requester's willingness to watch / intervent can be expected.
  • Such image data may include, for example, a sub-screen in which the vicinity of the notification event occurrence point is viewed from a different viewpoint from the (virtual) viewpoint of the game screen, as shown in FIG.
  • the player and the audience can visually recognize the occurrence of the notification target event.
  • the image data may include a text image describing the occurrence of a notification target event, for example, as shown in FIG.
  • the image data in FIG. 6 it is possible to suppress shielding of the display area of the main game screen as compared with the example in FIG. 5. Note that the image data in FIGS. 5 and 6 can be used in combination.
  • Which image data is used may be set by the player or the spectator, may be switched according to the type of the notification target event, and the notification target event in the notification target selection unit 523 may be changed. Switching may be performed in accordance with the selection order (for example, the image data of FIG. 5 may be used up to the top A (A is an arbitrary natural number) and the remaining image data of FIG. 6 may be used).
  • such image data can be used as a link to different viewpoints. That is, when the spectator selects a sub-screen as shown in FIG. 5 on the spectator terminal 300, for example, the main viewpoint distributed to the spectator terminal 300 may be switched to a viewpoint corresponding to the sub-screen.
  • the notification data may be data for outputting from the distributor terminal 100 audio data that notifies the game player of the occurrence of the notification target event. That is, it may be text data describing the occurrence of a notification target event (this is a target of TTS (Text-To-Speech) processing in the distributor terminal 100), and is obtained from such text data by TTS processing. It may be audio data (encoded data).
  • TTS Text-To-Speech
  • event 1, event 2 and event 3 occur in the unit period T1, and event 4 occurs in the subsequent unit period T2. Further, it is assumed that the predetermined number (upper limit number of notification target events) in the unit period T1 and the unit period T2 is two.
  • the event control unit 522 determines to generate the event 1, the event 2, and the event 3 on the game within the unit period T1.
  • the event control unit 522 sequentially reports such information to the notification target selection unit 523.
  • the notification target selection unit 523 selects a notification target event from the event 1, the event 2, and the event 3 that occur within the unit period T1, with the upper limit being two.
  • the notification target selection unit 523 selects event 1 and event 2 as notification target events, and stores data indicating event 3 in the unnotification event storage unit 534 with event 3 as an unnotification event.
  • the notification target selection unit 523 selects the notification target event during the unit period T2, but this is merely an example.
  • the notification target selection unit 523 can select a notification target event in the unit period T1 at an arbitrary timing after the event that occurs before the unit period T1 expires is determined by the event control unit 522. .
  • the occurrence of event 1 and event 2 is notified on the game screen displayed on the distributor terminal 100 by the notification data generated by the notification data generation unit 524.
  • the occurrence of the event 1 and the event 2 is notified during the unit period T3 following the unit period T2, but this is merely an example.
  • the notification target event in the unit period T1 is selected by the notification target selection unit 523, the notification data is generated by the notification data generation unit 524, and transmitted at any timing after being transmitted to the distributor terminal 100. Notification of notification target events is possible.
  • the event control unit 522 determines to generate the event 4 on the game within the unit period T2. The event control unit 522 reports this information to the notification target selection unit 523.
  • the notification target selection unit 523 selects the event 4 that occurs within the unit period T2 as the notification target event.
  • the notification target selection unit 523 since the predetermined number in the unit period T2 is set to two, the notification target selection unit 523 further selects event 3 that is an unreported event as a notification target event. That is, the notification target selection unit 523 selects the event 3 and the event 4 as notification target events in the unit period T2.
  • the notification target selection unit 523 selects the notification target event during the unit period T3, but this is merely an example.
  • the notification target selection unit 523 can select a notification target event in the unit period T2 at an arbitrary timing after an event that occurs before the expiration of the unit period T2 is determined by the event control unit 522. .
  • the occurrence of the event 3 and the event 4 is notified on the game screen displayed on the distributor terminal 100 by the notification data generated by the notification data generation unit 524.
  • the occurrence of the event 3 and the event 4 is notified during the unit period T4 following the unit period T3, but this is merely an example.
  • the notification target event in the unit period T2 is selected by the notification target selection unit 523, the notification data is generated by the notification data generation unit 524, and transmitted at any timing after being transmitted to the distributor terminal 100. Notification of notification target events is possible.
  • the various storage units include an attribute storage unit 531, a game data storage unit 532, a priority storage unit 533, and an unreported event storage unit 534.
  • These storage units may be a single memory as described above, or a combination of a memory and an auxiliary storage device.
  • the attribute storage unit 531 stores attribute data indicating the attributes of the requester or the audience.
  • the attribute data is written or rewritten by the attribute acquisition unit 521 and / or the notification target selection unit 523.
  • the attribute data is read by the notification target selection unit 523.
  • the game data storage unit 532 stores various game data used by the game program.
  • the game data can be written or rewritten in the game data storage unit 532 when installing or updating the game program.
  • the game data is read by the event control unit 522.
  • the game server 500 does not necessarily generate the game screen / sound, so the game data does not necessarily include material data.
  • the priority storage unit 533 stores the priority in association with the event type, for example, in the format of the priority table shown in FIG.
  • the priority can be written or rewritten in the priority storage unit 533 at the time of installation or update of the game program, for example.
  • the priority is read by the notification target selection unit 523.
  • the unnotified event storage unit 534 stores data indicating the aforementioned unnotified event. This data is written or rewritten by the notification target selection unit 523. This data is read by the notification target selection unit 523.
  • the receiving unit 511 receives an event generation request from the auxiliary server 400 (step S710), or receives player operation data from the distributor terminal 100 (step S720). Then, the event control unit 522 controls the event based on the event generation request received in step S710 or the player operation data received in step S720 (step S730). Specifically, the event control unit 522 determines which event is to be generated.
  • step S735 This process is repeated until all events that occur before the end of the unit period are determined (step S735), and the process proceeds to step S740.
  • step S740 the operation of FIG. 7 can start in parallel for the next unit period. That is, the event control unit 522 starts controlling an event that occurs in the next unit period.
  • FIG. 7 is merely an example, and the event control unit 522 automatically generates an event according to the progress of the game even when neither the event generation request nor the player operation data is received. Sometimes it is decided.
  • step S740 the notification target selection unit 523 selects a notification target event up to a predetermined number of events generated in the unit period determined in step S730.
  • the details of step S740 will be described with reference to FIG. 8 after the description of FIG.
  • the notification data generation unit 524 generates notification data for notifying the game player of the occurrence of the notification target event selected in step S740 (step S750). And the transmission part 512 transmits the execution result of the game program containing the notification data produced
  • step S740 in FIG. 7 details of step S740 in FIG. 7 will be described with reference to FIG. First, the notification target selection unit 523 counts the number of events that occur within a unit period, and determines whether this exceeds a predetermined number determined for the unit period (step S741). If the number of generated events in the unit period exceeds the predetermined number, the process proceeds to step S742, and if not, the process proceeds to step S745.
  • the notification target selection unit 523 selects notification target events in descending order of priority with a predetermined number as an upper limit.
  • the notification target event is performed in step S742.
  • the selection is complete.
  • the notification target selection unit 523 may use the attribute of the requester described above, may perform random selection, or may combine both.
  • step S745 the notification target selection unit 523 selects all events that occur within the unit period as notification target events.
  • the number of selected notification target events is not less than the predetermined number, that is, when the number of selected notification target events is equal to the predetermined number, the selection of the notification target event is completed in step S745.
  • the notification target selection unit 523 further selects the above-described unreported event as a notification target event (step S747).
  • the game server selects a notification target event from a predetermined number of events generated within a unit period, and determines the occurrence of the notification target event by the player and finally Notify the audience. Therefore, according to this game server, even when the occurrence of events is concentrated in a short period of time, the notification is performed up to a predetermined number, so that the player and the audience can grasp the game state to some extent, In addition, the game experience provided to the audience can be prevented from failing. Further, the load on the game server accompanying the notification does not increase beyond a certain upper limit.
  • the distributor terminal according to the second embodiment can be incorporated in a real-time play video distribution system of a game exemplified in FIG.
  • This distribution system includes a distributor terminal 600, a moving image distribution server 200, audience terminals 300-1, 300-2,..., And an auxiliary server 400.
  • the video distribution server 200 distributes a real-time play video of a stand-alone game or a P2P online game executed on the distributor terminal 600 to the audience terminal 300 (and the distributor terminal 600). .
  • FIG. 9 may be the same as the video distribution server 200, the spectator terminal 300, and the auxiliary server 400 of FIG. However, it is necessary to replace “distributor terminal 100” and “game server 500” in the description related to FIG. 1 with “distributor terminal 600”.
  • Distributor terminal 600 executes a game program. Further, it is assumed that distributor terminal 600 stores game material data in its main memory or auxiliary storage device.
  • the distributor terminal 600 according to the second embodiment can be called a game execution device.
  • Distributor terminal 600 receives an operation from a player and receives an event occurrence request from auxiliary server 400.
  • the distributor terminal 600 changes the game state based on the operation data of the player and the event generation request.
  • Distributor terminal 600 sequentially generates and outputs a game screen / sound based on the game state and game material data.
  • the player recognizes the output from the distributor terminal 600 and inputs an operation to the distributor terminal 600 based on the output.
  • Distributor terminal 600 accepts the player's operation and further transitions the game state. Further, the distributor terminal 600 sequentially encodes the game screen / sound and, if necessary, additional images / sounds and transmits them to the moving image distribution server 200.
  • the distributor terminal 600 notifies the player of the occurrence of at least a part of an event that occurs based on the operation data of the player and an event generation request and an event that automatically occurs according to the progress of the game. Generate notification data for notification.
  • the distributor terminal 600 limits the number of events to be notified within a unit period, and notifies more than a predetermined number of events even when the occurrence of events is concentrated in a short period of time. do not do. Thereby, it is possible to avoid the failure of the game experience provided to the player and the audience while allowing the player and the audience to grasp the game state to some extent. Further, the load on the distributor terminal 600 accompanying the notification does not increase beyond a certain upper limit.
  • Distributor terminal 600 may be an electronic device such as a computer that can execute a game program, for example, an electronic device similar to distributor terminal 100 in FIG.
  • Distributor terminal 600 is physically separated into a device that executes a game program (game execution device) and a device that encodes image / sound and transmits encoded multimedia data (encoding / uploading device). May be.
  • the game screen / audio data may or may not be output directly from the game execution device to the encoding / uploading device.
  • the encoding / uploading device can capture the game screen / audio data by, for example, photographing the screen of the display device connected to the game execution device and recording the output sound from the speaker.
  • the number of devices shown in FIG. 9 is merely an example. For example, since the number of spectator terminals 300 changes from moment to moment, it may be zero, and may be hundreds or thousands. Further, a Web server or a comment distribution server not shown in FIG. 9 may be further provided.
  • the distributor terminal 600 includes, for example, a processor that performs input / output control, communication control, and game execution (that is, event control, notification event selection, notification data generation, and the like). Further, the distributor terminal 600 includes a memory that temporarily stores a program executed by the processor and data used by the processor in order to realize such processing.
  • the distributor terminal 600 may handle all data in an on-memory state, or some data may be saved in the auxiliary storage device.
  • the auxiliary storage device may be, for example, an HDD, an SSD, a flash memory, or the like built in or externally attached to the distributor terminal 600, or may be a database server accessible from the distributor terminal 600.
  • the distributor terminal 600 may be a combination of a plurality of computers.
  • functional units of the distributor terminal 600 for example, a communication unit 610, a game execution unit 620, and various storage units described later may be distributed and installed in separate computers.
  • Distributor terminal 600 can further use a communication I / F for connecting to a network.
  • the communication I / F may be built in the distributor terminal 600 or may be externally attached to the distributor terminal 600.
  • the communication I / F may be a module for communicating with the moving image distribution server 200 and the auxiliary server 400 via a network. For example, the communication I / F transmits (uploads) encoded data to the moving image distribution server. The communication I / F receives an event generation request from the auxiliary server 400. Further, the communication I / F can receive the requester's attribute data from the auxiliary server 400 or the moving image distribution server 200.
  • Distributor terminal 600 can further use an input device for accepting user input.
  • the input device may be built in the distributor terminal 600 or may be externally attached to the distributor terminal 600.
  • the input device may be, for example, a keyboard, a mouse, a numeric keypad, a microphone, a camera, or the like, or may have an output device function like a touch screen.
  • User input can typically be taps, clicks, drags, certain key presses, and the like.
  • user input includes, for example, voice captured by a microphone, biological data detected by a biological sensor (eg, body temperature, facial expression, etc.), position data identified by GPS (Global Positioning System) or base station information, acceleration sensor The user action estimated based on the acceleration data detected by (for example, the distributor terminal 600 is swung) may be included.
  • the distributor terminal 600 can further use, for example, an output device for outputting a game screen / sound / vibration.
  • the output device may be built in the distributor terminal 600 or may be externally attached to the distributor terminal 600.
  • the output device may include a display device for displaying moving images, still images, texts, a speaker for outputting sound, music, and the like, a vibrator that vibrates in a desired pattern, and the like.
  • Examples of the display device include a liquid crystal display, an organic EL (electroluminescence) display, and a CRT (Cathode Ray Tube) display.
  • the display device displays display data including content. Note that the display device may have a function of an input device like a touch screen.
  • the distributor terminal 600 of FIG. 10 includes a communication unit 610, a game execution unit 620, various storage units, an input unit 641, an encoder 642, and an output unit 643.
  • the communication unit 610 may be, for example, the above-described communication I / F.
  • the communication unit 610 receives data from an external device such as the video distribution server 200 or the auxiliary server 400 via the network, or transmits data to the external device.
  • the communication unit 610 includes a reception unit 611 and a transmission unit 612.
  • the receiving unit 611 receives an event generation request from the auxiliary server 400.
  • the receiving unit 611 receives audience attribute data from the auxiliary server 400 or the moving image distribution server 200.
  • the receiving unit 611 sends these received data to the game executing unit 620. Specifically, the reception unit 611 sends the audience attribute data to the attribute acquisition unit 621. In addition, the reception unit 611 sends an event generation request to at least the event control unit 622.
  • the transmission unit 612 receives encoded data from the encoder 642 and transmits it to the moving image distribution server 200.
  • the game execution unit 620 may be the aforementioned processor and memory, and executes a game program.
  • the game execution unit 620 receives data such as player operation data and event generation requests from the input unit 641 and the communication unit 610, reads out necessary data from various storage units, changes the game state based on these, Generate notification data. Furthermore, the game execution part 620 draws a game screen according to the transition of the game state, and determines the game sound (and vibration pattern) to be output. Then, game execution unit 620 sends the game screen / sound to encoder 642 and output unit 643.
  • the game execution unit 620 includes an attribute acquisition unit 621, an event control unit 622, a notification target selection unit 623, a notification data generation unit 624, and a game screen / audio generation unit 625.
  • the attribute acquisition unit 621 may be the same as or similar to the attribute acquisition unit 521 of FIG.
  • the event control unit 622 may be the same as or similar to the event control unit 522 of FIG. 2 except for an output destination of data indicating an event occurring in the game.
  • the notification target selection unit 623 may be the same as or similar to the notification target selection unit 523 of FIG.
  • the notification data generation unit 624 may be the same as or similar to the notification data generation unit 524 of FIG. 2 except for the output destination of the notification data.
  • the game screen / sound generation unit 625 receives data indicating an event occurring on the game from the event control unit 622, receives notification data from the notification data generation unit 624, and receives game data (including material data) from the game data storage unit 632 ). Based on these, the game screen / sound generation unit 625 draws the game screen and determines the game sound (and vibration pattern) to be output. The game screen / audio generation unit 625 sends the generated game screen / audio data to the encoder 642 and the output unit 643.
  • various storage units include an attribute storage unit 631, a game data storage unit 632, a priority storage unit 633, and an unreported event storage unit 634. These storage units may be a single memory as described above, or a combination of a memory and an auxiliary storage device.
  • the attribute storage unit 631, the game data storage unit 632, the priority storage unit 633, and the unreported event storage unit 634 are the attribute storage unit 531, the game data storage unit 532, the priority storage unit 533, and the unreported event of FIG. It may be the same as or similar to the storage unit 534.
  • the game data stored in the game data storage unit 632 includes material data necessary for generating game screen / audio data.
  • the input unit 641 may be, for example, the input device described above, and receives an operation from the player.
  • the input unit 641 generates operation data based on the player's operation.
  • the input unit 641 sends operation data of the player to the game execution unit 620, for example, the event control unit 622.
  • the encoder 642 may be the aforementioned processor and memory, or a dedicated hardware encoder.
  • the encoder 642 receives game screen / sound data from the game screen / sound generation unit 625 and encodes them.
  • the encoder 642 encodes the game screen with a predetermined video codec (for example, H.264, H.265, etc.) and encodes the sound with a predetermined audio codec (for example, AAC (Advanced Audio Coding)).
  • a predetermined video codec for example, H.264, H.265, etc.
  • an audio codec for example, AAC (Advanced Audio Coding
  • the output unit 643 may be the output device described above.
  • the output unit 643 receives the game screen / sound data from the game screen / sound generation unit 625 and outputs these. That is, the display device displays a game screen, the speaker outputs game sound, and the vibrator vibrates according to the vibration pattern.
  • the operation of the distributor terminal 600 can be understood by appropriately replacing the operation example of the game server 500 of FIG. 2 described in FIG. Specifically, the distributor terminal 600 generates a game screen / sound based on the point of directly accepting the player's operation and the execution result of the game program including the notification data, and outputs and encodes the game screen / audio by itself.
  • the game server 500 is different in that it is uploaded to the server 200.
  • the distributor terminal selects a notification target event from a predetermined number of events generated within a unit period, and determines the occurrence of the notification target event as a player, and finally In general, notify the audience. Therefore, according to this distributor terminal, even if the occurrence of events is concentrated in a short period of time, notification is performed up to a predetermined number, so that the player and the audience can grasp the game state to some extent, It is possible to avoid the failure of the game experience provided to the player and the audience. In addition, the load on the distributor terminal accompanying the notification does not increase beyond a certain upper limit.
  • the notification target event is limited so that the player and the audience can grasp the game state to some extent.
  • the various functional units described in the above embodiments may be realized by using a circuit.
  • the circuit may be a dedicated circuit that realizes a specific function, or may be a general-purpose circuit such as a processor.
  • a program for realizing the above processing may be provided by being stored in a computer-readable recording medium.
  • the program is stored in the recording medium as an installable file or an executable file. Examples of the recording medium include a magnetic disk, an optical disk (CD-ROM, CD-R, DVD, etc.), a magneto-optical disk (MO, etc.), and a semiconductor memory.
  • the recording medium may be any recording medium as long as it can store the program and can be read by the computer.
  • the program for realizing the above processing may be stored on a computer (server) connected to a network such as the Internet and downloaded to the computer (client) via the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本発明の一態様によれば、ゲーム実行装置は、受信部と、イベント制御部と、選択部と、生成部とを含む。受信部は、ゲームのリアルタイムプレイ動画の観客の端末によって発行された当該ゲームに対する介入の実施要求を受信する補助サーバから、当該実施要求に基づくイベントの発生要求を受信する。イベント制御部は、少なくとも発生要求に応じて、ゲーム上で発生するイベントを制御する。選択部は、第1の期間内にゲーム上で発生する第1のイベントのうち所定個数を上限に通知対象イベントを選択する。生成部は、通知対象イベントの発生をゲームのプレイヤに通知する通知データを生成する。

Description

ゲーム実行装置およびゲームプログラム
 本発明は、双方向的なゲーム体験を提供するゲームの実行装置またはプログラムに関する。
 ビデオゲームは、スタンドアローン(Stand Alone)型、またはオンラインゲーム(例えば、クラウドゲーム、MO(Multiplayer Online)ゲーム、MMO(Massively Multiplayer Online)ゲーム)に大別することができる。また、オンラインゲームは、C/S(Client / Server)型およびP2P(Peer to Peer)型にさらに分類することができる。スタンドアローン型のゲームおよびP2P型のオンラインゲームは、プレイヤの端末がゲームプログラムを実行することで実現され、1人ないし高々数十人程度のプレイヤがプレイする。他方、特にC/S型では、プレイヤの端末に接続されたゲームサーバがゲームプログラムの少なくとも一部を実行することで実現され、MMO型のゲームでは数百人から数百万人ものプレイヤがネットワークに同時接続してプレイすることができる。
 ビデオゲームの基本的な仕組みは、プレイヤが、ゲームプログラムの出力であるゲーム画面、音声、振動などを認知し、これに基づいて判断を行って操作を入力し、ゲームプログラムがその操作に基づいてゲーム状態を遷移させてさらなる出力を生成する、というプレイヤ-ゲームプログラム間のやり取りの繰り返しである。
 近年、動画共有システムでは、ゲーム実況生放送と呼ばれるジャンルの動画が台頭しつつある。ゲーム実況生放送とは、プレイヤ(配信者)が、ゲームをリアルタイムにプレイする様子を、多数の観客へ生放送(配信)する形態のコンテンツ共有法である。ゲーム実況生放送によれば、プレイヤ以外の観客も、ゲームを擬似的に体験して楽しむことができる。
 さらに、一部の動画共有システムでは、生放送の動画に対して観客がコメントを付けることができる。ゲーム実況生放送において、観客が付けたコメントは、他の観客に加えて配信者もリアルタイムに閲覧することができる。配信者が観客からの助言コメントまたはリクエストコメントに応じたプレイをし、観客がさらにコメントを付けるなどして、双方向的なゲーム体験を生み出すことができる。
 また、日本国特開2016-189804号公報には、ゲームプレイ動画の閲覧中に入力されたコメントを取得・集計し、演出方法を選択すること[0011]が開示されている。ただし、日本国特開2016-189804号公報では、エフェクト、背景素材、及び画面装飾の異なる演出方法が定められているが、何れの演出方法も、ゲームプレイの内容そのものが変わるわけではなく、見た目が変わるだけである、とされている([0085]、[図18])。
 生放送の動画に対して観客がコメントを付け、それを配信者が閲覧できるという仕組みのみでは、観客のゲーム進行に対する影響力は限定的である。例えば、観客がいくらコメントを付けようとも配信者がこれを見落としたり無視したりすれば、観客のコメントはゲームの進行に影響を与えない。このように従来のゲーム実況生放送では、ゲームの進行に直接的に関与できるのは配信者のみであるから、配信者の意思と無関係に観客の意思がゲームの進行に影響を与えることはない。
 一方、ゲーム実況生放送の観客が例えばアイテムの投下といった(サブ)イベントを発生させるなどしてゲームの進行に介入できるようにすることも想定される。このような枠組みによれば、ゲーム上では、プレイヤである配信者の操作により発生するイベントやゲームの進行に応じて自動的に発生するイベントに加えて、観客の介入によるイベントも発生することになる。これは、プレイヤのみがゲームを遊ぶ場合に比べて多くのイベントが発生し得ることを意味する。
 多数の観客が同時多発的に介入を要求し、これにより配信者および観客の認知能力を超える数のイベントが短期間に集中して発生すれば、たとえそれぞれのイベントの発生が都度通知されたとしても配信者も観客もゲーム状態を把握することが困難となる。これは、ゲームおよびそのプレイ動画の面白さを損ねたり、配信者-観客間または観客間のコミュニケーションを阻害したりするなどして、双方向的なゲーム体験を破綻させるおそれがある。さらに、短期間に多数のイベントの発生を通知しようとすれば、ゲームの実行主体(ゲームサーバまたは配信者の端末)の処理負荷も重くなる。
 日本国特開2013-106858号公報には、対戦型・自動実行型のゲームにおいて(0021)、サーバ側のコンピュータの負荷が過大にならないようにするため(要約)、ゲーム入力を受け付ける「受付部」([0026])、受け付けたゲーム入力に応じてゲーム実行処理をする「実行処理部」([0027])、スケジュールに従って、複数のゲーム入力装置からのゲーム入力受付が、同期したタイミングで可能とされ又は不能とされるように決定する「決定部」([0035])を備えたゲームサーバ装置が記載されている。
 日本国特開2013-135761号公報には、ノンプレーヤキャラクタのメッセージの表示における制御負荷の増大を抑制するため([0007])、メッセージのうち優先度が最も高いものを間引かないものとして選択するなど、優先度に基づいて適宜選択する(間引く)ことが記載されている([0063])。
 本発明は、イベントの発生が短期間に集中した場合にその通知に伴う悪影響を回避することを目的とする。
 本発明の一態様によれば、ゲーム実行装置は、受信部と、イベント制御部と、選択部と、生成部とを含む。受信部は、ゲームのリアルタイムプレイ動画の観客の端末によって発行された当該ゲームに対する介入の実施要求を受信する補助サーバから、当該実施要求に基づくイベントの発生要求を受信する。イベント制御部は、少なくとも発生要求に応じて、ゲーム上で発生するイベントを制御する。選択部は、第1の期間内にゲーム上で発生する第1のイベントのうち所定個数を上限に通知対象イベントを選択する。生成部は、通知対象イベントの発生をゲームのプレイヤに通知する通知データを生成する。
 本発明によれば、イベントの発生が短期間に集中した場合にその通知に伴う悪影響を回避することができる。
図1は、第1の実施形態に係るゲームサーバを含む、ゲームのリアルタイムプレイ動画の配信システムの一例を示すブロック図である。 図2は、図1のゲームサーバを例示するブロック図である。 図3は、優先度テーブルを例示する図である。 図4は、図2のゲームサーバのイベント通知に関する動作の概念図である。 図5は、通知データの一例を示す図である。 図6は、通知データの別の例を示す図である。 図7は、図2のゲームサーバの動作を例示するフローチャートである。 図8は、図7のステップS740の詳細を例示するフローチャートである。 図9は、第2の実施形態に係る配信者端末を含む、ゲームのリアルタイムプレイ動画の配信システムの一例を示すブロック図である。 図10は、図9の配信者端末を例示するブロック図である。
 以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
 (第1の実施形態)
 第1の実施形態に係るゲームサーバは、図1に例示される、ゲームのリアルタイムプレイ動画の配信システムに組み込むことができる。この配信システムは、配信者端末100と、動画配信サーバ200と、観客端末300-1,300-2,・・と、補助サーバ400と、ゲームサーバ500とを含む。
 図1の例では、動画配信サーバ200は、配信者端末100(クライアント)およびゲームサーバ500(サーバ)において実行されるC/S型のオンラインゲームのリアルタイムプレイ動画を、観客端末300(および配信者端末100)へ配信する。
 ここで、ゲームは、例えば人工生命体の育成ゲームであってもよい。この育成ゲームにおいて、プレイヤは、人工生命体をフィールドと呼ばれる仮想世界に移し、その生態や当該人工生命体が群れ(一族)を形成して他の群れと共存する様子などを鑑賞して楽しむことができる。プレイヤは、自己の所有する人工生命体の死亡やその所属する一族の滅亡を防ぐため、その一族を有利にするため、などの目的で、人工生命体のエネルギーを補充するためのアイテム(フード)やその他の効果のあるオブジェクトをフィールドに投下することができる。このシステムでは、プレイヤである配信者だけでなく、観客も補助サーバ400を利用してこのような介入を実施して、プレイヤ(配信者)と一緒に好みの人工生命体やその所属する一族をサポートしたり、逆に敵対勢力の活動を邪魔したりすることができる。
 配信者端末100は、ゲームプログラム(クライアントサイドプログラム)を実行する。配信者端末100は、ゲームサーバ500からゲームプログラム(サーバサイドプログラム)の実行結果を受信し、ゲーム画面/音声(振動、またはその他のフィードバックを含み得る)を出力し、プレイヤとしての配信者はこの出力を認知する。ここで、ゲームプログラムの実行結果とは、例えば、ゲーム画面/音声(のエンコード済みデータ)そのものであってもよいし、ゲーム状態のようなゲーム画面/音声を生成するために必要なデータであってもよい。例えば、クラウドゲームでは、ゲーム画面/音声そのものが配信者端末100へ伝送され得る。
 後者の例では、配信者端末100は、ゲーム画面の描画および出力音声を決定するために、ゲームの素材データ、例えば、キャラクタ、オブジェクト、背景、ビジュアルエフェクト(visual effect)などの画像データ、効果音(SE:Sound Effect)、BGM(background music)、キャラクターボイス(Character Voice)、などの音声データ、振動パターン、などを主記憶または補助記憶装置に保存しておく必要がある。
 プレイヤは、配信者端末100からの出力を認知し、これに基づいて操作を当該配信者端末100へ入力する。配信者端末100はプレイヤの操作データをゲームサーバ500へ送信する。さらに、配信者端末100は、逐次、ゲーム画面/音声、そして必要があれば付加的な画像/音声をエンコードし、エンコード済みデータを動画配信サーバ200へ送信(アップロード)する。ここで、付加的な画像/音声は、例えば、配信者を撮影した画像や配信者の実況音声などを含み得る。
 配信者端末100は、ゲームプログラム(クライアントサイドプログラム)が実行可能なコンピュータなどの電子デバイス、例えば、PC(Personal Computer)、モバイル端末(例えば、タブレット、スマートフォン、ラップトップ、フィーチャーフォン、ポータブルゲーム機、デジタルミュージックプレイヤー、電子書籍リーダなど)、VR(Virtual Reality)端末、AR(Augmented Reality)端末、ゲーム機、テレビ受像機(インターネットテレビを含む)、などであり得るが、これらに限られない。
 なお、配信者端末100は、ゲームプログラムを実行する装置(ゲーム実行装置)と、画像/音声をエンコードし、エンコード済みのマルチメディアデータを送信する装置(エンコード・アップロード装置)とに物理的に分離されてもよい。またこの場合に、ゲーム画面/音声のデータは、ゲーム実行装置からエンコード・アップロード装置へ直接的に出力されてもよいし、されなくてもよい。後者の場合には、例えば、ゲーム実行装置に接続された表示装置の画面を撮影し、スピーカからの出力音声を録音することで、エンコード・アップロード装置はゲーム画面/音声データを取り込むことができる。
 動画配信サーバ200は、配信者端末100および観客端末300とネットワーク経由で接続しており、データを互いに送受信できる。動画配信サーバ200は、逐次、配信者端末100からエンコード済みデータを受信し、これを観客端末300へ送信する。
 観客端末300は、ユーザからの操作入力に基づいてゲームに対する介入の実施要求を発行し、補助サーバ400へ送信する。観客端末300は、配信者端末100と同様の電子デバイスであり得る。ただし、観客端末300は、ゲームプログラムを実行する能力は必要とされない。
 補助サーバ400は、観客端末300およびゲームサーバ500とネットワーク経由で接続している。補助サーバ400は、観客端末300から介入の実施要求を受信し、この要求に基づくイベントの発生要求をゲームサーバ500へ送信する。イベントの発生要求は、例えば要求するイベントの種類を示すデータと、要求の主体である観客(以降、要求者と呼ぶ)を示すデータとを含み得る。以降の説明において、イベントおよびサブイベントは区別せず、いずれもイベントと称する。
 補助サーバ400がこのように動作することで、例えば、ゲームのリアルタイムプレイ動画を視聴する観客の意思の少なくとも一部が、当該ゲームの進行に影響し、ひいては当該観客の視聴するリアルタイムプレイ動画へも波及し、双方向的で一体感の高いゲーム体験を実現することができる。
 なお、補助サーバ400は、観客端末300からの介入の実施要求を条件付きで受け付けてもよい。具体的には、補助サーバ400は、対価(以降、介入対価とも称する)の支払いを条件に観客によるゲームへの介入を許容してもよい。ここで、介入対価とは、現実の財貨によって表されてもよいし、動画配信サービスにおいて使用可能な仮想的な財貨(ポイントを含む)によって表されてもよい。観客は、ゲームへの介入を実施したい場合には、観客端末300に表示された介入対価の支払いに同意のうえ当該観客端末300を操作して実施要求を発行する。補助サーバ400は、観客端末300から介入の実施要求を受信すると、当該要求の発行時に当該観客端末300に表示されていた介入対価と引き替えに、ゲームに対して当該介入を実施する。なお、介入対価の決済処理は、補助サーバ400が行ってもよいし、補助サーバ400とは別の決済サーバが行ってもよい。
 ゲームサーバ500は、配信者端末100とネットワーク経由で接続しており、互いにデータを送受信できる。ゲームサーバ500は、ゲームプログラムを実行する。第1の実施形態に係るゲームサーバ500は、ゲーム実行装置と呼ぶことができる。
 ゲームサーバ500は、配信者端末100から送信されるプレイヤの操作データと、補助サーバ400からのイベントの発生要求とに基づいて、ゲーム状態を遷移させる。ゲームサーバ500は、逐次、ゲームプログラムの実行結果を配信者端末100へ送信する。
 ゲームサーバ500は、プレイヤの操作データおよびイベントの発生要求に基づいて発生するイベント、ゲームの進行に応じて自動的に発生するイベント、のうちの少なくとも一部について、そのイベントの発生をプレイヤに通知するための通知データを生成する。ただし、ゲームサーバ500は、以下に説明するように、単位期間内に通知対象とするイベント数を制限し、イベントの発生が短期間に集中した場合であっても所定個数(例えば1個)を超えるイベントを通知しない。これにより、プレイヤおよび観客がゲーム状態をある程度把握できるようにしながらも、プレイヤおよび観客に提供されるゲーム体験が破綻するのを回避することができる。また、通知に伴うゲームサーバ500の負荷が一定の上限を超えて増加することはない。
 なお、図1において示される各装置の数は、例示に過ぎない。例えば、観客端末300の数は、時々刻々と変化するので、0となることがあり得るし、数百、数千となることもあり得る。また、図1に示されないWebサーバまたはコメント配信サーバがさらに設けられてもよい。
 以下、図2乃至図8を用いて、ゲームサーバ500について詳しく説明する。
 ゲームサーバ500は、コンピュータであって、例えば、入出力制御、通信制御、そしてゲームの実行(すなわち、イベントの制御、後述される通知対象イベントの選択、通知データの生成、など)を行うプロセッサを含む。また、ゲームサーバ500は、かかる処理を実現するために当該プロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリを含んでいる。
 なお、ゲームサーバ500は、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、ゲームサーバ500に内蔵または外付けされたHDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリなどであってもよいし、ゲームサーバ500からアクセス可能なデータベースサーバであってもよい。
 また、ゲームサーバ500は、複数のコンピュータの組み合わせであってよい。例えば、ゲームサーバ500の機能部、例えば後述される通信部510とゲーム実行部520および種々の記憶部とが別個のコンピュータに分散して実装されてもよい。
 ゲームサーバ500は、さらに、ネットワークに接続するための通信I/F(インタフェース)を利用可能である。通信I/Fは、ゲームサーバ500に内蔵されてもよいし、ゲームサーバ500に外付けされてもよい。
 通信I/Fは、ネットワーク経由で、配信者端末100および補助サーバ400と通信をするためのモジュールであり得る。例えば、通信I/Fは、配信者端末100からプレイヤの操作データを受信したり、逆に配信者端末100へゲームプログラムの実行結果を送信したりする。また、通信I/Fは、補助サーバ400からイベントの発生要求を受信する。さらに、通信I/Fは、要求者の属性データ(後述される)を、補助サーバ400、または動画配信サーバ200から受信し得る。
 次に、図2を用いてゲームサーバ500の構成例の説明を続ける。図2のゲームサーバ500は、通信部510と、ゲーム実行部520と、種々の記憶部とを含む。
 通信部510は、例えば前述の通信I/Fであってよく、ネットワーク経由で、外部装置、例えば、配信者端末100、補助サーバ400、などからデータを受信したり、外部装置へデータを送信したりする。具体的には、通信部510は、受信部511および送信部512を含む。
 受信部511は、配信者端末100からプレイヤの操作データを受信する。また、受信部511は、補助サーバ400からイベントの発生要求を受信する。さらに、受信部511は、補助サーバ400、または動画配信サーバ200から、観客の属性データを受信する。受信部511は、これらの受信データをゲーム実行部520へ送る。具体的には、受信部511は、観客の属性データを属性取得部521へ送る。なお、属性データの詳細は後述するが、属性データは必ずしもイベントの発生要求と独立したデータである必要はなく、イベントの発生要求にその要求者の属性データが付加されていてもよい。また、受信部511は、プレイヤの操作データおよびイベントの発生要求を、少なくともイベント制御部522へ送る。
 送信部512は、ゲーム実行部520からゲームプログラムの実行結果を受け取り、これを配信者端末100へ送信する。ここで、ゲームプログラムの実行結果には、少なくとも、ゲーム上で発生するイベントを示すデータと、後述される通知データとが含まれる。前述のように、実行結果は、ゲーム画面/音声(のエンコード済みデータ)であってもよいし、ゲーム状態のようなゲーム画面/音声を生成するために必要なデータであってもよい。後者の場合に、イベントを示すデータは、例えば、イベントのID、イベントの種類、イベントの発生時間および場所などを含み得るし、通知データは、通知対象イベントのIDを含み得るし、さらに必要に応じてその通知態様(例えば通知順および通知時間)などを示すデータを含み得る。
 ゲーム実行部520は、前述のプロセッサおよびメモリであってよく、ゲームプログラム(サーバサイドプログラム)を実行する。ゲーム実行部520は、通信部510からプレイヤの操作データ、イベント発生要求、などのデータを受け取り、種々の記憶部から必要なデータを読み出し、これらに基づいてゲーム状態を遷移させたり、通知データを生成したりする。例えば、ゲーム実行部520は、新たなキャラクタ、アイテム、オブジェクト、などを仮想空間に追加したり、既存のキャラクタ、アイテム、オブジェクト、などを仮想空間から削除したりその状態を変化させたりする。ゲーム実行部520は実行結果を通信部510に返す。具体的には、ゲーム実行部520は、属性取得部521と、イベント制御部522と、通知対象選択部523と、通知データ生成部524とを含む。
 属性取得部521は、要求者ないし観客の属性を示す属性データを、通信部510を介して取得する。属性取得部521は、属性データを属性記憶部531に保存する。
 要求者の属性は、通知対象イベントの選択において補助的に参照され得る。すなわち、後述される優先度の降順にイベントを選択すると、候補数が所定個数(通知対象イベントの上限数)をオーバーする場合に、要求者の属性に基づいて候補が絞りこまれ得る。ただし、要求者の属性を通知対象イベントの選択において全く利用しないことも可能である。この場合には、属性取得部521および属性記憶部531は削除され得る。
 ここで、要求者の属性は、例えば、要求者がゲームのリアルタイムプレイ動画の視聴を開始した時間を含み得る。かかる情報は、例えば動画配信サーバ200から得ることができる。また、要求者の属性は、当該要求者が介入の実施を要求した時間を含み得る。かかる情報は、例えば補助サーバ400から得ることができる。さらに、要求者の属性は、ゲームのリアルタイムプレイ動画において当該要求者からの要求によりゲーム上で発生したイベントが(いずれかの単位期間における)通知対象イベントとして選択された回数(通知対象イベントの採用回数)を含み得る。かかる情報は、例えば通知対象選択部523の出力に基づいて、ゲームサーバ500において管理することができる。具体的には、通知対象選択部523は、単位期間における通知対象イベントの要求者のそれぞれについて、属性記憶部531に保存された通知対象イベントの採用回数を1インクリメントすればよい。
 イベント制御部522は、プレイヤの操作データおよびイベントの発生要求を受信部511から受け取る。なお、プレイヤの操作データおよびイベントの発生要求は、それぞれ独立したデータであるから、イベント制御部522がこれらを独立したタイミングで受け取る。
 イベント制御部522は、プレイヤの操作データおよびイベントの発生要求のそれぞれに応じて、ゲーム上で発生するイベントを制御する。また、イベント制御部522は、ゲームプログラムの仕様次第で、プレイヤの操作データおよびイベントの発生要求のいずれも受け取らなかった場合にも、ゲームの進行に応じてイベントを発生させることもあり得る。イベント制御部522は、ゲーム上で発生するイベントを示すデータを送信部512および通知対象選択部523へ送る。なお、ゲームサーバ500がゲーム画面/音声(のエンコード済みデータ)を生成して配信者端末100へ送信する場合には、イベント制御部522は、送信部512ではなく図示されないゲーム画面/音声生成部へ、ゲーム上で発生するイベントを示すデータを送ってもよい。
 通知対象選択部523は、イベント制御部522からゲーム上で発生するイベントを示すデータを受け取る。通知対象選択部523は、単位期間毎に、当該単位期間内にゲーム上で発生するイベントのうち所定個数を上限に通知対象イベントを選択する。通知対象選択部523は、通知対象イベントを示すデータを通知データ生成部524へ送る。ここで、所定個数は、1個であってもよいし、複数であってもよい。また、所定個数は、固定値であってもよいし、可変値であってもよい。例えば、人間のゲーム内イベントの通知に関する認知能力は本人の情報処理能力や当該ゲームのプレイ経験に応じてある程度異なると考えられるので、配信者または観客が所定個数を自由に設定できるようにしてもよい。また、単位期間は、固定長であってもよいし、可変長であってもよい。
 具体的には、通知対象選択部523は、イベントの種類毎に予め定義されている優先度の降順に通知対象イベントを選択してもよい。或いは、通知対象選択部523は、ランダムに通知対象イベントを選択してもよいし、イベントの発生の早い順または遅い順に通知対象イベントを選択してもよい。ただし、以降の説明では、通知対象選択部523は、優先度の降順に通知対象イベントを選択することとする。
 優先度の降順に通知対象イベントを選択することは、ゲームの進行への影響が大きいイベントが通知対象イベントから漏れにくくなるという効果がある。通知対象選択部523は、単位期間内に発生するイベント毎に当該イベントの種類に割り当てられた優先度を優先度記憶部533から読み出す。
 イベントの種類とその優先度とを対応付ける優先度テーブルの一例を図3に示す。図3において、優先度は、5(最高)から1(最低)までの5段階で付与されている。また、観客が関与可能、すなわち発生を要求可能なイベントには○印が付加されている。故に、例えば所定個数が「1」であり、「フード(低価値)をフィールドに投下した」(優先度1)と、「オブジェクトの効果が発動した」(優先度3)と、「新しい人工生命体をフィールドに投下した」(優先度4)とが同一の単位期間内に発生するとすれば、通知対象選択部523は、優先度の最も高い「新しい人工生命体をフィールドに投下した」を通知対象イベントとして選択する。なお、図3は例示に過ぎないので、優先度を図3と異なるように割り当てることも可能である。
 ここで、単位期間内に発生するイベントに割り当てられた優先度を降順にソートした場合に所定個数番目に並ぶ優先度を境界値と定める。故に、通知対象イベントは、いずれも境界値以上の優先度を割り当てられることになる。ただし、境界値に等しい優先度を割り当てられたイベントが複数存在する場合に、通知対象イベントの候補が所定個数を超えることがある。このように、単位期間内に発生するイベントのうち、境界値以上の優先度を割り当てられたものが所定個数を超える場合に、通知対象選択部523は、境界値に等しい優先度を割り当てられたイベントのうちの一部をその要求者の属性に基づいて通知対象イベントとして選択してもよい。通知対象選択部523は、境界値に等しい優先度を割り当てられたイベントのそれぞれの要求者の属性データを属性記憶部531から読み出す。
 なお、要求者が存在しないイベント、例えば、プレイヤの操作データに基づいて発生するイベント、またはゲームの進行に応じて自動発生するイベントについても、何らかの属性データ(属性値)がデフォルトで定められてもよい。
 例えば、通知対象選択部523は、ゲームのリアルタイムプレイ動画の視聴を開始した時間が遅い要求者からの要求により発生するイベントを優遇してもよい。これにより、例えば浮動客の定着が期待できる。逆に、通知対象選択部523は、ゲームのリアルタイムプレイ動画の視聴を開始した時間が早い要求者からの要求により発生するイベントを優遇してもよい。これにより、固定客の視聴/介入意欲の維持ないし向上が期待できる。
 また、通知対象選択部523は、通知対象イベントの採用回数が少ない要求者からの要求により発生するイベントを優遇してもよい。これにより、各要求者による介入が満遍なく注目されやすくなるので、各要求者の視聴/介入意欲が低下しにくくなる。さらに、通知対象選択部523は、介入の実施を要求した時間の早い、または遅い要求者からの要求により発生するイベントを優遇してもよい。
 通知対象選択部523は、1つの属性に基づく候補の絞り込みを行ってもよいし,複数の属性に基づく候補の絞り込みを行ってもよい。後者の例では、いくつかの属性を組み合わせて指標化しこの指標に基づく候補の絞り込みを行ってもよいし、単独の属性に基づく候補の絞り込みを順番に行ってもよい。
 或いは、単位期間内に発生するイベントのうち、境界値以上の優先度を割り当てられたものが所定個数を超える場合に、通知対象選択部523は、境界値に等しい優先度を割り当てられたイベントのうちの一部を通知対象イベントとしてランダムに選択してもよい。また、通知対象選択部523は、前述の要求者の属性を用いても候補の絞り込みが不十分である場合に、残存する候補から通知対象イベントをランダムに選択してもよい。
 単位期間内に発生するイベントの数は必ずしも一定でないので、所定個数を超えるイベントが発生することもあれば、所定個数以下のイベントが発生することもある。後者の場合に、通知対象選択部523は、全てのイベントを通知対象イベントとして選択できる。さらに、単位期間内に発生するイベントの数が所定個数を下回る場合には、当該単位期間内に発生するイベントを全て通知してもなお、イベント通知のためのリソース(時間および/または画面内空間)に空きが生じることになる。そこでかかる場合には、通知対象選択部523は、過去の単位期間に発生したイベントであって、当該過去の単位期間における通知対象イベントとして選択されなかったイベント(以降、未通知イベントと称する)を、現行の単位期間における通知対象イベントとしてさらに選択してもよい。これにより、プレイヤおよび観客の認知能力を超えない範囲で、より多くのイベントの発生をプレイヤ、そして観客に通知することが可能となる。
 かかる未通知イベントの時間差通知を実現するためには、未通知イベントを示すデータを管理しておく必要がある。通知対象選択部523は、各単位期間について通知対象イベントを選択すると共に、当該単位期間における未通知イベントを示すデータを例えば当該単位期間を示すデータに対応付けて、未通知イベント記憶部534に保存する。そして、通知対象選択部523は、単位期間内に発生するイベントの数が所定個数を下回る場合に、未通知イベントを示すデータを未通知イベント記憶部534から読み出す。
 通知対象選択部523は、例えば、前述の優先度、要求者の属性などを考慮して、未通知イベントの一部を通知対象イベントとして決定してもよい。また、通知対象選択部523は、未通知イベントの発生からの経過時間をさらに考慮してもよい。例えば、通知対象選択部523は、発生からの経過時間の短い未通知イベントを優遇してもよい。これにより、古過ぎるイベントの発生が通知されることで、却って、プレイヤ、そして観客が混乱するのを避けることができる。また、通知対象選択部523が未通知イベントの発生からの経過時間を直接考慮せずとも、例えば、経過時間が閾値以上の未通知イベントを示すデータを未通知イベント記憶部534から削除したり、未通知イベント記憶部534における当該データの保存数を最新U個(Uは任意の自然数)に制限したりしてもよい。
 通知データ生成部524は、通知対象選択部523から通知対象イベントを示すデータを受け取り、当該通知対象イベントの発生をゲームのプレイヤに通知する(すなわち、最終的に観客にも通知する)通知データを生成する。通知データ生成部524は、通知データを送信部512へ送る。
 ここで、通知データは、通知対象イベントの発生をプレイヤに通知する画像データを配信者端末100に表示されるゲーム画面に重畳(例えば、ピクチャーインピクチャー(Picture-in-Picture)表示)するためのデータであり得る。具体的には、通知データは、かかる画像データそのものであってもよいし、当該画像データを配信者端末100において描画するために必要なデータであってもよい。また、画像データは、通知対象イベントが発生した時間および/または場所の情報を含んでいてもよい。これにより、プレイヤおよび観客はゲーム状態をより正確に認知することができる。また、画像データは、通知対象イベントの要求者の情報を含んでいてもよい。これにより、要求者の視聴/介入意欲の維持ないし向上が期待できる。
 かかる画像データは、例えば、図5のように、通知対象イベントの発生地点付近をゲーム画面の(仮想)視点とは異なる視点から見たサブ画面を含み得る。図5の画像データによれば、プレイヤおよび観客は、通知対象イベントの発生を視覚的に認知することができる。或いは、画像データは、例えば図6のように、通知対象イベントの発生を記述するテキスト画像を含み得る。図6の画像データによれば、図5の例に比べて、メインのゲーム画面の表示領域の遮蔽を抑制することができる。なお、図5および図6の画像データは、併用することも可能である。どちらの画像データが使用されるかは、プレイヤまたは観客が設定できるようにしてもよいし、通知対象イベントの種類に応じて切り替えられてもよいし、通知対象選択部523における当該通知対象イベントの選択順に応じて切り替えられてもよい(例えば、選択順が上位A(Aは任意の自然数)個までは図5の画像データが使用され残りは図6の画像データが使用されてもよい)。
 なお、図1のシステムにおいて多視点配信が行われている場合に、かかる画像データを異なる視点へのリンクとして利用することもできる。すなわち、観客が観客端末300上で例えば図5のようなサブ画面を選択した場合に、当該観客端末300に配信されるメインの視点が当該サブ画面に対応する視点に切り替わってもよい。
 或いは、通知データは、通知対象イベントの発生をゲームのプレイヤに通知する音声データを配信者端末100から出力するためのデータであり得る。すなわち、通知対象イベントの発生を記述するテキストデータ(これは配信者端末100においてTTS(Text-To-Speech)処理の対象となる)であってもよいし、かかるテキストデータからTTS処理によって得られる音声データ(のエンコード済みデータ)であってもよい。
 ここで、図4を用いて、ゲームサーバ500がイベント通知に関してどのように動作するかを概念的に説明する。図4の例では、単位期間T1にイベント1、イベント2およびイベント3が発生し、続く単位期間T2にイベント4が発生しているとする。また単位期間T1および単位期間T2における所定個数(通知対象イベントの上限数)は2個であるとする。
 まず、イベント制御部522が、単位期間T1内にゲーム上でイベント1、イベント2およびイベント3を発生することを決定する。イベント制御部522は、かかる情報を通知対象選択部523へ逐次報告する。
 その後、通知対象選択部523は、単位期間T1内に発生するイベント1、イベント2およびイベント3から、2個を上限に通知対象イベントを選択する。図4の例では、通知対象選択部523は、イベント1およびイベント2を通知対象イベントとして選択し、イベント3を未通知イベントとしてイベント3を示すデータを未通知イベント記憶部534に保存する。なお、図4の例では、通知対象選択部523は、単位期間T2中に通知対象イベントを選択しているが、これは例示に過ぎない。原理上、通知対象選択部523は、単位期間T1の満了までに発生するイベントがイベント制御部522によって決定された後の任意のタイミングで、当該単位期間T1における通知対象イベントを選択することができる。
 その後、通知データ生成部524によって生成された通知データによって、イベント1およびイベント2の発生が配信者端末100に表示されるゲーム画面上で通知される。図4の例では、単位期間T2に続く単位期間T3中にイベント1およびイベント2の発生が通知されているが、これは例示に過ぎない。原理上、単位期間T1における通知対象イベントが通知対象選択部523によって選択され、その通知データが通知データ生成部524によって生成され、そして配信者端末100へ伝送された後の任意のタイミングで、当該通知対象イベントの通知が可能である。
 さらに、イベント制御部522が、単位期間T2内にゲーム上でイベント4を発生することを決定する。イベント制御部522は、かかる情報を通知対象選択部523へ報告する。
 その後、通知対象選択部523は、単位期間T2内に発生するイベント4を通知対象イベントとして選択する。図4の例では、単位期間T2における所定個数は2個に定められているので、通知対象選択部523は、未通知イベントであるイベント3を通知対象イベントとしてさらに選択する。すなわち、通知対象選択部523は、イベント3およびイベント4を単位期間T2における通知対象イベントとして選択する。なお、図4の例では、通知対象選択部523は、単位期間T3中に通知対象イベントを選択しているが、これは例示に過ぎない。原理上、通知対象選択部523は、単位期間T2の満了までに発生するイベントがイベント制御部522によって決定された後の任意のタイミングで、当該単位期間T2における通知対象イベントを選択することができる。
 その後、通知データ生成部524によって生成された通知データによって、イベント3およびイベント4の発生が配信者端末100に表示されるゲーム画面上で通知される。図4の例では、単位期間T3に続く単位期間T4中にイベント3およびイベント4の発生が通知されているが、これは例示に過ぎない。原理上、単位期間T2における通知対象イベントが通知対象選択部523によって選択され、その通知データが通知データ生成部524によって生成され、そして配信者端末100へ伝送された後の任意のタイミングで、当該通知対象イベントの通知が可能である。
 図2の例において種々の記憶部は、属性記憶部531、ゲームデータ記憶部532、優先度記憶部533と、未通知イベント記憶部534とを含む。これらの記憶部は、前述のメモリ単体であってもよいし、メモリおよび補助記憶装置の組み合わせであってもよい。
 属性記憶部531は、要求者ないし観客の属性を示す属性データを保存する。属性データは、属性取得部521および/または通知対象選択部523によって書き込まれ、または書き換えられる。また、属性データは、通知対象選択部523によって読み出される。
 ゲームデータ記憶部532は、ゲームプログラムによって使用される種々のゲームデータを保存する。ゲームデータは、ゲームプログラムのインストールまたはアップデート時にゲームデータ記憶部532に書き込まれ、または書き換えられ得る。ゲームデータは、イベント制御部522によって読み出される。図2の例では、ゲームサーバ500は必ずしもゲーム画面/音声の生成を行わないので、ゲームデータは必ずしも素材データを含まない。
 優先度記憶部533は、例えば図3に示した優先度テーブルの形式で、イベントの種類に対応付けて優先度を保存する。優先度は、例えばゲームプログラムのインストールまたはアップデート時に優先度記憶部533に書き込まれ、または書き換えられ得る。優先度は、通知対象選択部523によって読み出される。
 未通知イベント記憶部534は、前述の未通知イベントを示すデータを保存する。このデータは、通知対象選択部523によって書き込まれ、または書き換えられる。このデータは、通知対象選択部523によって読み出される。
 次に、図7を用いて、1つの単位期間についてのゲームサーバ500の動作例を説明する。
 まず、受信部511は、補助サーバ400からイベントの発生要求を受信し(ステップS710)、または配信者端末100からプレイヤの操作データを受信する(ステップS720)。そして、イベント制御部522は、ステップS710において受信したイベントの発生要求、またはステップS720において受信したプレイヤの操作データに基づいて、イベントを制御する(ステップS730)。具体的には、イベント制御部522は、どのイベントを発生させるかを決定する。
 かかる処理が、単位期間の満了までに発生する全てのイベントが決定するまで繰り替えされ(ステップS735)、処理はステップS740へ進む。他方、次の単位期間について図7の動作が並列的に開始し得る。すなわち、イベント制御部522は、次の単位期間に発生するイベントを制御し始める。
 なお、図7は単なる例示に過ぎず、イベント制御部522は、イベントの発生要求またはプレイヤの操作データのいずれも受信しない場合であっても、ゲームの進行に応じて自動的にイベントの発生を決定することもある。
 ステップS740において、通知対象選択部523は、ステップS730において決定された、単位期間内に発生するイベントのうち所定個数を上限に通知対象イベントを選択する。なお、ステップS740の詳細は、図7の説明の後に図8を用いて説明する。
 次に、通知データ生成部524は、ステップS740において選択された通知対象イベントの発生をゲームのプレイヤに通知する通知データを生成する(ステップS750)。そして、送信部512は、ステップS750において生成された通知データを含む、ゲームプログラムの実行結果を配信者端末100へ送信する(ステップS760)。
 次に、図8を用いて、図7のステップS740の詳細を説明する。
 まず、通知対象選択部523は、単位期間内に発生するイベントの数を計数し、これが当該単位期間に対して定められた所定個数を超えるか否かを判定する(ステップS741)。単位期間内の発生イベント数が所定個数を超える場合には処理はステップS742へと進み、そうで無い場合には処理はステップS745へ進む。
 ステップS742において、通知対象選択部523は、所定個数を上限として優先度の降順に通知対象イベントを選択する。ここで、優先度が前述の境界値以上のイベントの数が所定個数を超えない、すなわち優先度が前述の境界値以上のイベントの数が所定個数に等しい場合には、ステップS742を以て通知対象イベントの選択は完了する。他方、優先度が前述の境界値以上のイベントの数が所定個数を超える場合には、通知対象選択部523は、優先度=境界値のイベントを絞り込む(ステップS744)。例えば、通知対象選択部523は、前述の要求者の属性を利用してもよいし、ランダム選択を行ってもよいし、両者を組み合わせてもよい。
 ステップS745において、通知対象選択部523は、単位期間内に発生するイベントを全て通知対象イベントとして選択する。ここで、選択済みの通知対象イベントの数が所定個数未満でない、すなわち選択済みの通知対象イベントの数が所定個数に等しい場合にはステップS745を以て通知対象イベントの選択は完了する。他方、選択済みの通知対象イベントの数が所定個数未満である場合には、通知対象選択部523は、前述の未通知イベントを通知対象イベントとしてさらに選択する(ステップS747)。
 以上説明したように、第1の実施形態に係るゲームサーバは、単位期間内に発生するイベントのうち所定個数を上限に通知対象イベントを選択し、当該通知対象イベントの発生をプレイヤ、そして最終的には観客に通知する。故に、このゲームサーバによれば、イベントの発生が短期間に集中した場合であっても所定個数を限度に通知が行われるので、プレイヤおよび観客がゲーム状態をある程度把握できるようにしながらも、プレイヤおよび観客に提供されるゲーム体験が破綻するのを回避することができる。また、通知に伴うゲームサーバの負荷が一定の上限を超えて増加することはない。
 (第2の実施形態)
 第2の実施形態に係る配信者端末は、図9に例示される、ゲームのリアルタイムプレイ動画の配信システムに組み込むことができる。この配信システムは、配信者端末600と、動画配信サーバ200と、観客端末300-1,300-2,・・と、補助サーバ400とを含む。
 図9の例では、動画配信サーバ200は、配信者端末600において実行されるスタンドアローン型のゲームまたはP2P型のオンラインゲームのリアルタイムプレイ動画を、観客端末300(および配信者端末600)へ配信する。
 図9の動画配信サーバ200、観客端末300および補助サーバ400は、図1の動画配信サーバ200、観客端末300および補助サーバ400と同一であり得る。ただし、図1に関する説明における「配信者端末100」および「ゲームサーバ500」を「配信者端末600」に置き換える必要がある。
 配信者端末600は、ゲームプログラムを実行する。また、配信者端末600は、ゲームの素材データをその主記憶または補助記憶装置に保存しているものとする。第2の実施形態に係る配信者端末600は、ゲーム実行装置と呼ぶことができる。
 配信者端末600は、プレイヤからの操作を受け付け、補助サーバ400からのイベント発生要求を受信する。配信者端末600は、プレイヤの操作データとイベントの発生要求とに基づいて、ゲーム状態を遷移させる。配信者端末600は、逐次、ゲーム状態およびゲームの素材データに基づいて、ゲーム画面/音声を生成して出力する。
 プレイヤは、配信者端末600からの出力を認知し、これに基づいて操作を当該配信者端末600へ入力する。配信者端末600はプレイヤの操作を受け付けて、ゲーム状態をさらに遷移させる。さらに、配信者端末600は、逐次、ゲーム画面/音声、そして必要があれば付加的な画像/音声をエンコードし、動画配信サーバ200へ送信する。
 配信者端末600は、プレイヤの操作データおよびイベントの発生要求に基づいて発生するイベント、ゲームの進行に応じて自動的に発生するイベント、のうちの少なくとも一部について、そのイベントの発生をプレイヤに通知するための通知データを生成する。ただし、配信者端末600は、以下に説明するように、単位期間内に通知対象とするイベント数を制限し、イベントの発生が短期間に集中した場合であっても所定個数を超えるイベントを通知しない。これにより、プレイヤおよび観客がゲーム状態をある程度把握できるようにしながらも、プレイヤおよび観客に提供されるゲーム体験が破綻するのを回避することができる。また、通知に伴う配信者端末600の負荷が一定の上限を超えて増加することはない。
 配信者端末600は、ゲームプログラムが実行可能なコンピュータなどの電子デバイス、例えば、図1の配信者端末100と同様の電子デバイスであり得る。なお、配信者端末600は、ゲームプログラムを実行する装置(ゲーム実行装置)と、画像/音声をエンコードし、エンコード済みのマルチメディアデータを送信する装置(エンコード・アップロード装置)とに物理的に分離されてもよい。またこの場合に、ゲーム画面/音声のデータは、ゲーム実行装置からエンコード・アップロード装置へ直接的に出力されてもよいし、されなくてもよい。後者の場合には、例えば、ゲーム実行装置に接続された表示装置の画面を撮影し、スピーカからの出力音声を録音することで、エンコード・アップロード装置はゲーム画面/音声データを取り込むことができる。
 なお、図9において示される各装置の数は、例示に過ぎない。例えば、観客端末300の数は、時々刻々と変化するので、0となることがあり得るし、数百、数千となることもあり得る。また、図9に示されないWebサーバまたはコメント配信サーバがさらに設けられてもよい。
 配信者端末600は、例えば、入出力制御、通信制御、そしてゲームの実行(すなわち、イベントの制御、通知対象イベントの選択、通知データの生成、など)を行うプロセッサを含む。また、配信者端末600は、かかる処理を実現するために当該プロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリを含んでいる。
 なお、配信者端末600は、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、配信者端末600に内蔵または外付けされたHDD、SSD、フラッシュメモリなどであってもよいし、配信者端末600からアクセス可能なデータベースサーバであってもよい。
 また、配信者端末600は、複数のコンピュータの組み合わせであってよい。例えば、配信者端末600の機能部、例えば後述される通信部610とゲーム実行部620および種々の記憶部とが別個のコンピュータに分散して実装されてもよい。
 配信者端末600は、さらに、ネットワークに接続するための通信I/Fを利用可能である。通信I/Fは、配信者端末600に内蔵されてもよいし、配信者端末600に外付けされてもよい。
 通信I/Fは、ネットワーク経由で、動画配信サーバ200および補助サーバ400と通信をするためのモジュールであり得る。例えば、通信I/Fは、エンコード済みデータを動画配信サーバへ送信(アップロード)する。また、通信I/Fは、補助サーバ400からイベントの発生要求を受信する。さらに、通信I/Fは、要求者の属性データを、補助サーバ400、または動画配信サーバ200から受信し得る。
 配信者端末600は、さらに、ユーザ入力を受け付けるための入力装置を利用可能である。入力装置は、配信者端末600に内蔵されてもよいし、配信者端末600に外付けされてもよい。
 入力装置は、例えば、キーボード、マウス、テンキー、マイクロフォン、カメラなどであってもよいし、タッチスクリーンのように出力装置の機能を備えていてもよい。ユーザ入力は、典型的には、タップ、クリック、ドラッグ、特定のキーの押下などであり得る。このほか、ユーザ入力は、例えば、マイクロフォンによって捉えられる音声、生体センサによって検出される生体データ(例えば体温、表情など)、GPS(Global Positioning System)または基地局情報によって識別される位置データ、加速度センサによって検出される加速度データに基づいて推定されるユーザのアクション(例えば、配信者端末600を振り回した)などを含むこともできる。
 配信者端末600は、さらに、例えばゲーム画面/音声/振動を出力するための出力装置を利用可能である。出力装置は、配信者端末600に内蔵されてもよいし、配信者端末600に外付けされてもよい。
 出力装置は、動画像、静止画像、テキストなどを表示するための表示デバイス、音声、楽曲などを出力するためのスピーカ、所望のパターンで振動するバイブレータ、などを含み得る。表示デバイスは、例えば、液晶ディスプレイ、有機EL(electroluminescence)ディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどである。表示デバイスは、コンテンツを含む表示データを表示する。なお、表示デバイスは、タッチスクリーンのように入力装置の機能を備えていてもよい。
 次に、図10を用いて配信者端末600の構成例の説明を続ける。図10の配信者端末600は、通信部610と、ゲーム実行部620と、種々の記憶部と、入力部641と、エンコーダ642と、出力部643とを含む。
 通信部610は、例えば前述の通信I/Fであってよく、ネットワーク経由で、外部装置、例えば、動画配信サーバ200、補助サーバ400、などからデータを受信したり、外部装置へデータを送信したりする。具体的には、通信部610は、受信部611および送信部612を含む。
 受信部611は、補助サーバ400からイベントの発生要求を受信する。また、受信部611は、補助サーバ400、または動画配信サーバ200から、観客の属性データを受信する。受信部611は、これらの受信データをゲーム実行部620へ送る。具体的には、受信部611は、観客の属性データを属性取得部621へ送る。また、受信部611は、イベントの発生要求を、少なくともイベント制御部622へ送る。
 送信部612は、エンコーダ642からエンコード済みデータを受け取り、これを動画配信サーバ200へ送信する。
 ゲーム実行部620は、前述のプロセッサおよびメモリであってよく、ゲームプログラムを実行する。ゲーム実行部620は、入力部641および通信部610からプレイヤの操作データ、イベント発生要求などのデータを受け取り、種々の記憶部から必要なデータを読み出し、これらに基づいてゲーム状態を遷移させたり、通知データを生成したりする。さらに、ゲーム実行部620は、ゲーム状態の遷移に応じてゲーム画面を描画し、出力するゲーム音声(および振動パターン)を決定する。そして、ゲーム実行部620は、ゲーム画面/音声をエンコーダ642および出力部643へ送る。具体的には、ゲーム実行部620は、属性取得部621と、イベント制御部622と、通知対象選択部623と、通知データ生成部624と、ゲーム画面/音声生成部625とを含む。
 ただし、属性取得部621は、図2の属性取得部521と同一または類似であってよい。イベント制御部622は、ゲーム上で発生するイベントを示すデータの出力先を除いて、図2のイベント制御部522と同一または類似であってよい。通知対象選択部623は、図2の通知対象選択部523と同一または類似であってよい。通知データ生成部624は、通知データの出力先を除いて、図2の通知データ生成部524と同一または類似であってよい。
 ゲーム画面/音声生成部625は、イベント制御部622からゲーム上で発生するイベントを示すデータを受け取り、通知データ生成部624から通知データを受け取り、ゲームデータ記憶部632からゲームデータ(素材データを含む)を読み出す。ゲーム画面/音声生成部625は、これらに基づいて、ゲーム画面を描画し、出力するゲーム音声(および振動パターン)を決定する。ゲーム画面/音声生成部625は、生成したゲーム画面/音声データをエンコーダ642および出力部643へ送る。
 図10の例において種々の記憶部は、属性記憶部631、ゲームデータ記憶部632、優先度記憶部633と、未通知イベント記憶部634とを含む。これらの記憶部は、前述のメモリ単体であってもよいし、メモリおよび補助記憶装置の組み合わせであってもよい。
 ただし、属性記憶部631、ゲームデータ記憶部632、優先度記憶部633および未通知イベント記憶部634は、図2の属性記憶部531、ゲームデータ記憶部532、優先度記憶部533および未通知イベント記憶部534と同一または類似であってよい。なお、ゲームデータ記憶部632に保存されるゲームデータは、ゲーム画面/音声データの生成に必要な素材データを含むこととする。
 入力部641は、例えば前述の入力装置であってよく、プレイヤから操作を受け付ける。入力部641は、プレイヤの操作に基づいて操作データを生成する。入力部641は、ゲーム実行部620、例えばイベント制御部622へ、プレイヤの操作データを送る。
 エンコーダ642は、前述のプロセッサおよびメモリ、または専用のハードウェア・エンコーダであってよい。エンコーダ642は、ゲーム画面/音声生成部625から、ゲーム画面/音声データを受け取り、これらをエンコードする。例えば、エンコーダ642は、ゲーム画面を既定のビデオコーデック(例えば、H.264、H.265、など)によりエンコードし、音声を既定の音声コーデック(例えば、AAC(Advanced Audio Coding))によりエンコードする。そして、エンコーダ642は、エンコード済みデータを例えばmp4などの形式のマルチメディアコンテナとして送信部612へ送る。
 出力部643は、前述の出力装置であってよい。出力部643は、ゲーム画面/音声生成部625からゲーム画面/音声データを受け取り、これらを出力する。すなわち、表示デバイスがゲーム画面を表示したり、スピーカがゲーム音声を出力したり、バイブレータが振動パターンに従って振動したりする。
 なお、配信者端末600の動作は、図7において説明した図2のゲームサーバ500の動作例を適宜読み替えることで理解することができる。具体的には、配信者端末600はプレイヤの操作を直接受け付ける点と、通知データを含むゲームプログラムの実行結果に基づいてゲーム画面/音声を生成し、これらを自ら出力すると共にエンコードして動画配信サーバ200へアップロードする点とが、ゲームサーバ500とは異なる。
 以上説明したように、第2の実施形態に係る配信者端末は、単位期間内に発生するイベントのうち所定個数を上限に通知対象イベントを選択し、当該通知対象イベントの発生をプレイヤ、そして最終的には観客に通知する。故に、この配信者端末によれば、イベントの発生が短期間に集中した場合であっても所定個数を限度に通知が行われるので、プレイヤおよび観客がゲーム状態をある程度把握できるようにしながらも、プレイヤおよび観客に提供されるゲーム体験が破綻するのを回避することができる。また、通知に伴う配信者端末の負荷が一定の上限を超えて増加することはない。
 (変形例)
 上記実施形態ではいずれも、プレイヤおよび観客がゲーム状態をある程度把握できるように、通知対象イベントを制限している。しかしながら、通知対象から漏れたイベントも把握できるようにして欲しいというニーズも想定される。そこで、例えばゲーム画面外に、通知対象から漏れたイベント、または全イベントの情報、例えばどのイベントがいつ、どこで起きたか、などのリスト(イベントリストと称する)を表示する領域が設けられてもよい。かかるイベントリストは、ゲーム画面外に表示されるので、ゲーム画面を注視しているプレイヤやその他の観客の妨げとはならない。また、プレイヤおよび観客が個別に、かかるリストを自己の端末上に表示するかどうかを設定できるようにしてもよい。
 上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、1つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が1つの装置に実装されることもあり得る。
 上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
 上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
 上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたCPU、または、マイコン、FPGA(Field Programmable Gate Array)もしくはDSP(Digital Signal Processor)、などのプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。

Claims (10)

  1.  ゲームのリアルタイムプレイ動画の観客の端末によって発行された当該ゲームに対する介入の実施要求を受信する補助サーバから、当該実施要求に基づくイベントの発生要求を受信する受信部と、
     少なくとも前記発生要求に応じて、前記ゲーム上で発生するイベントを制御するイベント制御部と、
     第1の期間内に前記ゲーム上で発生する第1のイベントのうち所定個数を上限に通知対象イベントを選択する選択部と、
     前記通知対象イベントの発生を前記ゲームのプレイヤに通知する通知データを生成する生成部と
     を具備する、ゲーム実行装置。
  2.  前記選択部は、前記第1のイベントから前記所定個数を上限に優先度の降順に前記通知対象イベントを選択し、
     前記優先度は、イベントの種類毎に予め定義されている、
     請求項1に記載のゲーム実行装置。
  3.  前記第1のイベントの要求者の属性を取得する取得部をさらに具備し、
     前記選択部は、前記第1のイベントのうち境界値以上の優先度を割り当てられたものが前記所定個数を超える場合に、前記境界値に等しい優先度を割り当てられた複数の第2のイベントのうちの一部を当該第2のイベントの要求者の属性に基づいて前記通知対象イベントとして選択し、
     前記境界値は、前記第1のイベントに割り当てられた優先度を降順にソートした場合に前記所定個数番目に並ぶ優先度に等しい、
     請求項2に記載のゲーム実行装置。
  4.  前記要求者の属性は、当該要求者が前記リアルタイムプレイ動画の視聴を開始した時間を含む、請求項3に記載のゲーム実行装置。
  5.  前記要求者の属性は、当該要求者が前記介入の実施を要求した時間を含む、請求項3に記載のゲーム実行装置。
  6.  前記要求者の属性は、前記リアルタイムプレイ動画において当該要求者からの要求により前記ゲーム上で発生したイベントがいずれかの期間における通知対象イベントとして選択された回数を含む、請求項3に記載のゲーム実行装置。
  7.  前記選択部は、前記第1のイベントのうち境界値以上の優先度を割り当てられたものが前記所定個数を超える場合に、前記境界値に等しい優先度を割り当てられた複数の第2のイベントのうちの一部を前記通知対象イベントとしてランダムに選択し、
     前記境界値は、前記第1のイベントに割り当てられた優先度を降順にソートした場合に前記所定個数番目に並ぶ優先度に等しい、
     請求項2に記載のゲーム実行装置。
  8.  前記通知データは、前記通知対象イベントを表示するサブ画面を前記ゲームの画面に重畳するためのデータを含む、請求項1に記載のゲーム実行装置。
  9.  前記選択部は、前記第1のイベントの数が前記所定個数を下回る場合には、前記第1の期間よりも過去の第2の期間内に前記ゲーム上で発生したイベントであって、当該第2の期間における通知対象イベントとして選択されなかったイベントを前記第1の期間における通知対象イベントとしてさらに選択する、請求項1に記載のゲーム実行装置。
  10.  コンピュータを、
     ゲームのリアルタイムプレイ動画の観客の端末によって発行された当該ゲームに対する介入の実施要求を受信する補助サーバから、当該実施要求に基づくイベントの発生要求を受信する手段、
     少なくとも前記発生要求に応じて、前記ゲーム上で発生するイベントを制御する手段、 第1の期間内に前記ゲーム上で発生する第1のイベントのうち所定個数を上限に通知対象イベントを選択する手段、
     前記通知対象イベントの発生を前記ゲームのプレイヤに通知する通知データを生成する手段
     として機能させるための、ゲームプログラム。
PCT/JP2019/007321 2018-02-27 2019-02-26 ゲーム実行装置およびゲームプログラム WO2019167946A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980006188.1A CN111447979B (zh) 2018-02-27 2019-02-26 游戏运行装置及终端服务器
US16/650,361 US11065540B2 (en) 2018-02-27 2019-02-26 Game execution device and game program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018032975A JP6473252B1 (ja) 2018-02-27 2018-02-27 ゲーム実行装置およびゲームプログラム
JP2018-032975 2018-02-27

Publications (1)

Publication Number Publication Date
WO2019167946A1 true WO2019167946A1 (ja) 2019-09-06

Family

ID=65443120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/007321 WO2019167946A1 (ja) 2018-02-27 2019-02-26 ゲーム実行装置およびゲームプログラム

Country Status (4)

Country Link
US (1) US11065540B2 (ja)
JP (1) JP6473252B1 (ja)
CN (1) CN111447979B (ja)
WO (1) WO2019167946A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11185786B2 (en) 2018-08-21 2021-11-30 Steelseries Aps Methods and apparatus for monitoring actions during gameplay
US11071914B2 (en) * 2018-11-09 2021-07-27 Steelseries Aps Methods, systems, and devices of providing portions of recorded game content in response to a trigger
JP6826626B2 (ja) * 2019-03-29 2021-02-03 株式会社コロプラ 視聴プログラム、視聴方法、および視聴端末
JP6595737B1 (ja) * 2019-04-12 2019-10-23 株式会社Cygames 情報処理システムおよび情報処理方法
US11559740B2 (en) 2019-09-13 2023-01-24 Gree, Inc. Video modification and transmission using tokens
JP7046044B6 (ja) 2019-11-08 2022-05-06 グリー株式会社 コンピュータプログラム、サーバ装置及び方法
JP6987933B1 (ja) * 2020-07-14 2022-01-05 グリー株式会社 コンピュータプログラム、方法及びサーバ装置
JP7229327B2 (ja) * 2020-07-14 2023-02-27 グリー株式会社 コンピュータプログラム、方法及びサーバ装置
JP7296530B2 (ja) * 2020-07-14 2023-06-22 グリー株式会社 コンピュータプログラム、方法及びサーバ装置
JP6908867B1 (ja) 2020-09-29 2021-07-28 株式会社ミクシィ 情報処理装置、情報処理方法、及びプログラム
JP7282731B2 (ja) * 2020-12-02 2023-05-29 株式会社コロプラ プログラム、方法、および端末
JP7494102B2 (ja) 2020-12-18 2024-06-03 株式会社コロプラ プログラム、情報処理システム
JP7373149B2 (ja) * 2021-12-01 2023-11-02 グリー株式会社 コンピュータプログラム、方法及びサーバ装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005526581A (ja) * 2002-05-24 2005-09-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オンラインゲームの観戦者
US20130288799A1 (en) * 2012-04-26 2013-10-31 Brett Harris Systems and methods that enable a spectator's experience for online active games
US20140004951A1 (en) * 2012-06-28 2014-01-02 Mark Kern Interactive spectator features for gaming environments
JP2014018324A (ja) * 2012-07-13 2014-02-03 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
WO2015056370A1 (ja) * 2013-10-17 2015-04-23 株式会社ソニー・コンピュータエンタテインメント ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
JP2016154741A (ja) * 2015-02-25 2016-09-01 株式会社バンダイナムコエンターテインメント プログラム、端末及びサーバ

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999083B2 (en) * 2001-08-22 2006-02-14 Microsoft Corporation System and method to provide a spectator experience for networked gaming
US9339728B2 (en) * 2002-12-10 2016-05-17 Sony Interactive Entertainment America Llc System and method for managing audio and video channels for video game players and spectators
US7455590B2 (en) * 2003-05-09 2008-11-25 Microsoft Corporation Sending messages in response to events occurring on a gaming service
JP3686415B2 (ja) * 2003-11-10 2005-08-24 コナミ株式会社 ゲーム装置、ゲーム方法、及びゲームプログラム
CN101065786A (zh) * 2004-10-04 2007-10-31 Igt公司 Ⅱ类/ⅱ类混合游戏机、系统及方法
US20060135259A1 (en) * 2004-12-17 2006-06-22 Nokia Corporation System, game server, terminal, and method for game event notification in a multiplayer game
JP4086862B2 (ja) * 2005-06-28 2008-05-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びその制御方法、ゲーム装置、並びにプログラム
US7632186B2 (en) * 2005-11-21 2009-12-15 Microsoft Corporation Spectator mode for a game
US8734254B2 (en) * 2006-04-25 2014-05-27 International Business Machines Corporation Virtual world event notifications from within a persistent world game
JP2008250711A (ja) * 2007-03-30 2008-10-16 Konami Digital Entertainment:Kk ゲーム予約管理方法、及びゲーム予約管理システム
JP2009207624A (ja) * 2008-03-03 2009-09-17 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム
US8613655B2 (en) * 2008-04-30 2013-12-24 Bally Gaming, Inc. Facilitating group play with multiple game devices
JP5874549B2 (ja) * 2012-06-29 2016-03-02 三菱自動車工業株式会社 電動車両
WO2014020641A1 (ja) * 2012-07-31 2014-02-06 株式会社スクウェア・エニックス コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
JP6276960B2 (ja) * 2013-10-16 2018-02-07 株式会社セガゲームス サーバー装置、及び、ゲームシステム
US9596280B2 (en) * 2013-11-11 2017-03-14 Amazon Technologies, Inc. Multiple stream content presentation
JP2014128696A (ja) * 2014-02-25 2014-07-10 Dna:Kk サーバー装置、及び、ゲームプログラム
KR101596771B1 (ko) * 2014-08-19 2016-02-24 주식회사 홍인터내셔날 모바일 게임과 연동되는 게임 모드를 제공하는 다트 게임 장치, 방법, 및 컴퓨터 판독 가능 매체
US10390064B2 (en) * 2015-06-30 2019-08-20 Amazon Technologies, Inc. Participant rewards in a spectating system
CN105141682A (zh) * 2015-08-18 2015-12-09 广州华多网络科技有限公司 订阅事件提醒方法及装置
CN105635264B (zh) * 2016-03-28 2019-08-20 庄铭宇 一种基于网络游戏应用的文件系统
JP6282684B2 (ja) * 2016-04-01 2018-02-21 株式会社コーエーテクモゲームス 情報処理プログラム、情報処理装置及び情報処理方法
CN106775615A (zh) * 2016-10-31 2017-05-31 北京小米移动软件有限公司 通知消息管理的方法和装置
US10471360B2 (en) * 2017-03-06 2019-11-12 Sony Interactive Entertainment LLC User-driven spectator channel for live game play in multi-player games
CN107657434A (zh) * 2017-10-10 2018-02-02 广州四三九九信息科技有限公司 游戏充值支付结果的通知方法、装置和网关设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005526581A (ja) * 2002-05-24 2005-09-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オンラインゲームの観戦者
US20130288799A1 (en) * 2012-04-26 2013-10-31 Brett Harris Systems and methods that enable a spectator's experience for online active games
US20140004951A1 (en) * 2012-06-28 2014-01-02 Mark Kern Interactive spectator features for gaming environments
JP2014018324A (ja) * 2012-07-13 2014-02-03 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
WO2015056370A1 (ja) * 2013-10-17 2015-04-23 株式会社ソニー・コンピュータエンタテインメント ゲームシステム、ゲーム制御方法、及びゲーム制御プログラム
JP2016154741A (ja) * 2015-02-25 2016-09-01 株式会社バンダイナムコエンターテインメント プログラム、端末及びサーバ

Also Published As

Publication number Publication date
CN111447979A (zh) 2020-07-24
US11065540B2 (en) 2021-07-20
CN111447979B (zh) 2023-04-04
US20200406139A1 (en) 2020-12-31
JP2019146740A (ja) 2019-09-05
JP6473252B1 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
JP6473252B1 (ja) ゲーム実行装置およびゲームプログラム
JP6378849B1 (ja) サーバおよびプログラム
JP6526826B2 (ja) クラウド上のアプリケーションのための予測的なインスタントプレイ技術
JP6155305B2 (ja) ストリーミングデジタルコンテンツの同期再生システム及び方法
US9832516B2 (en) Systems and methods for multiple device interaction with selectably presentable media streams
KR20190005832A (ko) 스트리밍 비디오 데이터의 관리
US20110088071A1 (en) System of providing data for entertaining presentations to at least one audience
JP7419555B2 (ja) 予測されるゲーミングアクティビティと観客特性に基づく仮想インフルエンサの動作に関する方法
JP2019165868A (ja) サーバおよびプログラム
JP6624766B1 (ja) ゲームシステム
JP2011253452A (ja) 情報処理装置
JP7419554B2 (ja) ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオのサーフェシング
JP2018174456A (ja) 仮想処理サーバ、仮想処理サーバの制御方法、コンテンツ配信システム、および端末装置のアプリケーションプログラム
JP2011253453A (ja) 情報処理装置
WO2010115049A2 (en) A device and method for a streaming video game
JP2018025734A (ja) 画像表示システムおよび画像表示プログラム
WO2021199559A1 (ja) 動画配信装置、動画配信方法、および、動画配信プログラム
JP2013051552A (ja) 視聴管理装置、視聴装置、視聴管理プログラム、及び視聴プログラム
JP2019146956A (ja) ゲーム実行装置およびゲームプログラム
JP6755720B2 (ja) ゲームプログラム及び記録媒体
JP2018200675A (ja) データ生成装置およびアプリケーション実行装置
US11577163B2 (en) Computer server, a method and computer program product
JP2022156117A (ja) コンテンツ配信システム及びプログラム
JP7487398B1 (ja) 動画配信装置、動画配信方法、動画配信プログラム、及び動画配信システム
JP2019166300A (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: 19760840

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19760840

Country of ref document: EP

Kind code of ref document: A1