SYSTEM AND METHOD FOR PROVIDING GAME WINS AND LOSSES

A system and method for providing game wins and losses are provided. The system for providing game wins and losses may include a user input (UI) broker module configured to control an input of a player for a game instance, analyze play content for the game instance, and interacting with the player; and a UI broker server configured to provide wins and losses of the player based on analysis of the UI broker module.

TECHNICAL FIELD

The disclosure relates to a system and method for providing game wins and losses.

BACKGROUND ART

To increase game immersion and interest of game players, player matching or competition function is used to encourage competition between players. For example, competition between players may be encouraged by matching players playing the game to determine whether players win or lose, or by comparing scores to determine rankings and accordingly rewarding players. However, unlike cases where player matching or competition function is designed or implemented from a development stage, interest in services that provide competition between players is increasing even in games that do not include player matching or competition function.

DISCLOSURE

Technical Problem

The present disclosure attempts to provide a system and method for providing game wins and losses capable of providing competition between players regardless of the presence or absence of player matching or competition function.

Technical Solution

A system for providing game wins and losses according to an embodiment may include a user input (UI) broker module configured to control an input of a player for a game instance, analyze play content for the game instance, and interacting with the player; and a UI broker server configured to provide wins and losses of the player based on analysis of the UI broker module.

In some embodiments, the UI broker module may include a UI broker module configured to control a game progress by intervening in the input of the player.

In some embodiments, the UI broker module may include a video stream analysis module configured to extract wins and losses decision data by analyzing a video stream including the play content, and transmit the wins and losses decision data to the UI broker server.

In some embodiments, the UI broker server may determine wins and losses of the player based on the wins and losses decision data received from the UI broker module and provide the wins and losses to the UI broker module as wins and losses data, and the UI broker module may perform interaction with the player based on the wins and losses data.

In some embodiments, the UI broker module may include a play data collection module configured to collect raw data about the input of the player and the play content.

In some embodiments, the UI broker server may generate a preset including information about a game configuration of the game instance from the collected raw data.

In some embodiments, the UI broker server may perform simulation analysis based on the preset and verify the preset according to the analysis.

In some embodiments, the UI broker module may include a preset providing module configured to provide a preset including information about the game configuration of the game instance.

In some embodiments, the system for providing game wins and losses may further include a game streaming server configured to provide game streaming to a player terminal, and the UI broker module may be included in the game streaming server.

In some embodiments, the system for providing game wins and losses may further include a player terminal, and the UI broker module may be included in the player terminal.

A method for providing game wins and losses according to an embodiment may include generating a preset including information about a game configuration of a game instance; obtaining play data including an input of a player and play content for the game instance in real time; extracting wins and losses decision data by analyzing the play data obtained in real time; generating wins and losses data that decides the wins and losses of the player based on the wins and losses decision data and the preset; and providing the wins and losses of the player based on the wins and losses data and performing interaction with the player.

In some embodiments, the extracting of the wins and losses decision data may include extracting the wins and losses decision data by analyzing a video stream including the play content.

In some embodiments, the generating of the preset may include collecting raw data about the input of the player and the play content; and generating the preset from the raw data.

In some embodiments, the method for providing game wins and losses may further include performing a simulation analysis based on the preset and verifying the preset according to the analysis.

A computer-readable medium according to an embodiment may record a program on a computer for executing generating a preset including information about a game configuration of a game instance; obtaining play data including an input of a player and play content for the game instance in real time; extracting wins and losses decision data by analyzing the play data obtained in real time; generating wins and losses data that decides the wins and losses of the player based on the wins and losses decision data and the preset; and providing the wins and losses of the player based on the wins and losses data and performing interaction with the player.

MODE FOR INVENTION

With reference to the attached drawings, embodiments of the present invention will be described in detail below so that ordinary skilled in the art may easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals designate like elements throughout the specification.

Throughout the specification and the claims, unless explicitly described to the contrary, the word “comprise”, and variations such as “comprises” or “comprising”, may be understood to imply the inclusion of stated elements but not the exclusion of any other elements.

The terms such as “-portion”, “-group”, “module”, and “means” described in the specification may mean a unit that processes at least one function or operation described in the specification, which may be implemented as hardware or software or a combination of hardware and software.

FIG.1is a block diagram for explaining a system for providing game wins and losses according to an embodiment.

Referring toFIG.1, a system1for providing game wins and losses according to an embodiment may include a user input (UI) broker server10, a game streaming server20, and a plurality of player terminals30and32. In the present embodiment, the distinction between the UI broker server10and the game streaming server20is logical, and may be implemented as separate servers or integrated into one server according to an actual implementation environment or implementation purpose.

The game streaming server20may provide game streaming to the plurality of player terminals30and32by using game streaming technology. The game streaming technology may stream game instances from a game cloud or a game source device to a user (i.e. player) device, transmit a UI received from the user device during a game play to the game cloud or the game source device, and provide a game, which may enable to enjoy a game without having to install a game application in the user device. For example, when the user device is a smartphone equipped with a touch screen, the game play may be possible by displaying a game instance streaming from the game cloud on the touch screen and transmitting a gesture that a user inputs through the touch screen to the game cloud without having to install a separate game application in the smartphone.

That is, the plurality of player terminals30and32may provide game streaming received from the game streaming server20to players player1and player2even though the game application is not installed therein, and the game streaming server20may be implemented as a cloud server. In some embodiments, the game streaming server20may implement game streaming by using WebRTC, but the scope of the present invention is not limited thereto.

The game streaming server20may create a plurality of game instances for the same game and provide each of the plurality of game instances to each player. For example, when there are two players, the game streaming server20may create a first game instance to be provided to a first player player1and a second game instance to be provided to a second player player2. The first game instance may be streamed to the player terminal30and the second game instance may be streamed to the player terminal32.

In some embodiments, the game streaming server20may additionally create competitive streaming content. The competitive streaming content may include a play image of a competitor or a play image of an arbitrary another player. For example, when streaming the first game instance to the player terminal30, the game streaming server20may stream a play image of the second player player2who is a competitor of the first player player1together to the player terminal30.

The player terminal30may include a game streaming receiving module300and a competitive game providing module302. The game streaming receiving module300may receive streaming for the first game instance provided from the game streaming server20, and the competitive game providing module302may provide the received game streaming, that is, a competitive game, to the first player player1. That is, the first game instance streamed from the game streaming server20may be a game instance implemented by the interface broker server10to enable competition between players.

Likewise, the player terminal32may include a game streaming receiving module320and a competitive game providing module322, the game streaming receiving module320may receive streaming for the second game instance provided from the game streaming server20, and the competitive game providing module322may provide the received game streaming, that is, a competitive game, to the second player player2. That is, the second game instance streaming from the game streaming server20may be a game instance implemented by the UI broker server10to enable competition between players.

The UI broker server10may provide wins and losses of the first player player1and the second player player2with respect to the game streaming provided from the game streaming server20to the plurality of player terminals30and32. In particular, the UI broker server10may provide competition between players and wins and losses not only for games in which player matching or competition function has been designed or implemented from a development stage, but also for games that do not include player matching or competition function. To this end, the UI broker server10may operate in conjunction with a UI broker module implemented in the game streaming server20.

FIG.2is a block diagram for explaining a game streaming server according to an embodiment.FIG.3is a block diagram for explaining a UI broker module according to an embodiment.

Referring toFIG.2, the game streaming server20according to an embodiment may include a plurality of UI broker modules22and24and a streaming module26.

The UI broker modules22and24may control inputs of a player to game instances G1and G2, analyze play content for the game instances G1and G2, and interact with the player. The UI broker server10may provide wins and losses of the player based on analysis of the UI broker modules22and24.

The streaming module26may stream the game instance G1implemented by the UI broker module22and the UI broker server10to enable competition between players to the player terminal30. In addition, the streaming module26may stream the game instance G2implemented by the UI broker module24and the UI broker server10to enable competition between players to the player terminal32.

Referring toFIG.3together, the UI broker module22may include a UI control module220, a video stream analysis module222, a play data collection module224, and a preset providing module226. AlthoughFIG.3illustrates only the UI broker module22, the content described in relation thereto may be equally applied to the UI broker module24. That is, the UI broker module24may include a UI control module240, a video stream analysis module242, a play data collection module244, and a preset providing module246to respectively correspond to those shown inFIG.3.

The UI control module220may control a game progress by intervening in an input of a player (i.e., a first player), that is, a UI, for the game instance G1. For example, the UI control module220may intervene in the input of the player transmitted from the player terminal30to transmit the player input to the game instance G1or control the game progress such as preparing a game, starting the game, ending the game, etc. regardless of an actual input of the player. In addition, the UI control module220may block the input of the player when necessary to control the game progress.

Specifically, the UI control module220may transmit a UI using a keyboard, mouse, gamepad, etc. for various operations during game, such as clicking a button on a game user interface screen, entering text, moving screen objects, etc., to the game instance G1. Meanwhile, the UI control module220may block a UI in order to control game progress of multiple players or to prevent problems that may affect fairness of game, such as hacking.

The UI control module240may control the game progress by intervening in an input of a player (a second player) for the game instance G2. In this regard, for a detailed operation, refer to the description of the UI control module220.

The video stream analysis module222may analyze a video stream including play content, extract wins and losses decision data, and transmit the wins and losses decision data to the UI broker server10. Here, the wins and losses decision data is data that may be used to decide wins and losses between players, and may include, for example, data such as scores, icons, and images recognized or extracted from the video stream. The UI broker server10may decide wins and losses of the player based on the wins and losses decision data received from the video stream analysis module222of the UI broker module22, and provide the wins and losses as wins and losses data to the UI broker module22. The video stream analysis module242may also perform the same or similar operations as the video stream analysis module222.

For example, the video stream analysis module222may extract a score of “300” from a video stream including play content of the first player and transmit the score to the UI broker server10as the wins and losses decision data. Meanwhile, the video stream analysis module242may extract a score of “296” from a video stream including play content of the second player and transmit the score to the UI broker server10as the wins and losses decision data. The UI broker server10may decide that the first player wins and the second player loses according to the wins and losses decision data received from the video stream analysis modules222and224, and provide again this to the UI broker modules22and24as wins and losses data. The UI broker modules22and24may interact with the first player and the second player, respectively, according to the wins and losses data received from the UI broker server10. For example, the UI broker modules22and24may perform interaction by transmitting meaning that the first player wins and the second player loses to the players through the player terminals30and32by using various methods such as visual, auditory, tactile, etc.

In some embodiments, the video stream analysis modules222and224may interpret specific parts of a user screen transmitted as the video stream to make informatization of score, time, ranking, etc. For example, the video stream analysis modules222and224may interpret a part of a game streaming screen (e.g., a part showing the score, time, etc.), and analysis results may be used to decide wins and losses or priority of the game. To this end, an area analyzed may be a part of the game video stream or image information of a part of a game instance memory, and is not limited to a specific area. Based on such automation of the game progress and result information analysis, a fair decision of wins and losses may be possible.

To this end, an area analyzed may be a part of the game video stream or image information of a part of a game instance memory, and is not limited to a specific area.

The play data collection module224may collect play data of players. Here, the play data may mean inputs of players or raw data including play content. For example, the play data may include data that players input for a game progress, video clips recorded during play, screenshots recorded during play, log records, etc., and the collected data may be appropriately classified and managed (e.g. through tagging). Partitioning or indexing for high-speed processing may be performed on the collected and stored play data as needed.

The UI broker server10may generate a preset including information about a game configuration of the game instance G1from the raw data collected by the play data collection module224.

The preset may define analysis criteria required for analysis of the play data collected by the play data collection modules224and244. For example, the preset may define that a game screen proceeds in the order of a start screen, a play screen, and a result screen according to a game state. As another example, the preset may define that the start screen is a screen including a red start button and an icon of a specific shape. In addition, the preset may include area information and color information for red recognition, area information and comparison text for OCR recognition, area information for icon recognition, information about comparison images and match ratios, etc. The other screens classified during the game progress may also be defined in the preset in the same way as above.

The UI broker server10may perform a simulation analysis based on the preset and verify the preset according to analysis results. Specifically, the UI broker server10may simulate a game on the basis of the preset based on the collected play data. The UI broker server10may compare simulation results with results of actually running the game to verify the appropriateness of analysis criteria of the preset. When the analysis criteria defined through the preset are not verified enough to analyze a game play in real time, the UI broker server10may repeat a process of correcting the preset.

The preset providing module226may store the preset that has been verified enough to analyze the game play in real time and provide the preset to the UI broker module22. That is, when intervening in the game progress in real time, the UI broker module22may use the preset provided through the preset providing module226.

Specifically, the UI broker module22may analyze a play state in real time by using the preset. For example, the UI broker module22may obtain a player input, video stream data, etc. of a game being played in real time. In some embodiments, a period for obtaining data may be designated according to game characteristics. As another example, the UI broker module22may analyze which stage a player is currently in the game flow by using the preset. As another example, the UI broker module22may select an appropriate preset for the game flow and perform analysis on the extracted data by using the selected preset. In some embodiments, when the game flow is not clearly recognized, analysis may be performed by using multiple presets. When analysis fails, the play data that was an analysis target may be separately stored and utilized to improve the preset.

The descriptions of the play data collection module224and the preset provision module226may be equally applied to the play data collection module244and the preset provision module246.

In some embodiments, the game progress may be performed as follows. First, a matching start screen between players may be output, and a game instance may be executed. The UI broker module22may recognize that the matching start screen is a game start screen, and at this time, an event that activates a UI may be activated. In this case, a game start event may be transmitted to the UI broker server10. Meanwhile, the UI broker module22may determine a game play screen and, at this time, intervene in and monitor a UI. Meanwhile, the UI broker module22may determine a game result screen and stop a UI. In this case, game result information and game end event may be transmitted to the UI broker server10. Thereafter, the game instance may be stopped and a matching result screen may be output.

FIG.4is a block diagram for explaining a system for providing game wins and losses according to an embodiment.

Referring toFIG.4, in a system2for providing game wins and losses according to an embodiment, UI broker modules400and420may be respectively included in player terminals40and42. Unlike the system1for providing game wins and losses described above with reference toFIG.1, a standalone game application is installed in each of the player terminals40and42, and the game instances G1and G2may be created therefrom. The descriptions of the UI broker modules22and24described above with reference toFIG.1may be applied to the UI broker modules400and420provided in the player terminals40and42, respectively.

FIG.5is a flowchart for explaining a method for providing game wins and losses according to an embodiment.

Referring toFIG.5, the method for providing game wins and losses according to an embodiment may include collecting raw data about an input of a player and play content (S501), generating a preset including information about a game configuration of a game instance from the raw data (S503), performing simulation analysis based on the preset and verifying the preset according to analysis results (S505), and storing the verified preset (S507).

In addition, the method for providing game wins and losses according to an embodiment may include obtaining play data including the input of the player and the play content for the game instance in real time (S509) and analyzing the play data in real time (S511).

Step S511of analyzing the play data in real time may include extracting wins and losses decision data by analyzing the play data obtained in real-time and generating wins and losses data that decide wins and losses of the player based on the wins and losses decision data and the preset. In some embodiments, the step of extracting the wins and losses decision data may include extracting the wins and losses decision data by analyzing a video stream including the play content.

In addition, the method for providing game wins and losses according to an embodiment may include providing the wins and losses of the player based on the wins and losses data and interacting with the player (S513).

For more detailed information about the method for providing game wins and losses according to an embodiment, refer to the content described above in relation toFIGS.1to4.

FIGS.6to8are diagrams showing implementation examples of a system for providing game wins and losses according to an embodiment.

InFIG.6, an area designated as ‘A’ shows a video stream analysis module analyzing a specific part on a user screen and identifying an icon on an example screen. An area designated as ‘B’ inFIG.7shows a UI control module moving a knife icon to the right on an example screen. An area designated as ‘C’ inFIG.8shows the video stream analysis module OCR-analyzing a part where score is displayed on an example screen.

FIG.9is a block diagram illustrating a computing device for implementing a system and method for providing game wins and losses according to embodiments.

Referring toFIG.9, the system and method for providing game wins and losses according to embodiments may be implemented by using a computing device (or computer)50.

The computing device50may include at least one of a processor510, a memory530, a user interface input device540, a user interface output device550, and a storage device560that communicate via a bus520. The computing device50may also include a network interface570that is electrically connected to a network60, such as a wired or wireless network. The network interface570may transmit or receive signals to and from other devices over the network60.

The processor510may be implemented in various types such as an Application Processor (AP), a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), etc., and may be any semiconductor device that executes commands stored in the memory530or the storage device560. The processor510may be configured to implement the functions and methods described with reference toFIGS.1to8.

The memory530and the storage device560may include various types of volatile or non-volatile storage media. For example, the memory530may include read-only memory (ROM)531and random access memory (RAM)532. In some embodiments, the memory530may be located inside or outside the processor510, and the memory530may be connected to the processor510through various known means.

The system and method for providing game wins and losses according to some embodiments may be implemented with a program or software executed in the computing device50, and the program or software may be stored in a computer-readable medium.

The system and method for providing game wins and losses according to some embodiments may be implemented with hardware that may be electrically connected to the computing device50.

In some embodiments, at least some of the functions described above may be provided to developers through an SDK. Accordingly, developers may use the SDK to create game application builds.

According to the embodiments described above, by providing a game environment in which competitive play between users is possible even for games without a matching or competition function, a game immersion and interest of users playing games may be increased.

Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those of ordinary skill in the field to which the present invention pertains also belong to the scope of the present invention.