This application claims priority to and the benefit of Korean Patent Application No. 10-2019-0179849 filed in the Korean Intellectual Property Office on Dec. 31, 2019, the entire content of which is incorporated herein by reference.
The present disclosure relates to a method and an apparatus for predicting a result of the computer game at a specific time point during play of the game.
It is necessary to predict a result of a computer game in order to improve understanding for the computer game characteristics and use it as a basis for developing the player's strategy. A model for predicting the result of the computer games using data acquired from a single player of a conventional real-time strategy simulation game (real-time tactics simulation, RTS) has been proposed. In addition, a model which predicts the result of the computer game based on the champion data selected by each team in a multiplayer online battle arena (MOBA) genre game, or a model which analyzes the result of the computer game by dividing the elements that determine the result of the computer game has been also proposed. However, the above computer game result analysis model uses the same play attributes from the start of the computer game to the end of the computer game to analyze the result of the computer game.
An embodiment provides an apparatus for predicting a result of a computer game at a specific time point during play of the computer game.
Another embodiment provides a method for predicting a result of a computer game at a specific time point during play of the computer game.
Yet another embodiment provides a method for predicting a result of a computer game at a specific time point during play of the computer game.
According to an embodiment, an apparatus for predicting a result of a computer game at a specific time point during play of the computer game is provided. The apparatus includes: a processor and a memory, wherein the processor executes a program stored in the memory to perform: obtaining play attributes of the computer game in a time slot including the specific time point; and predicting the result of the computer game at the specific time point by inputting the play attributes to a game result prediction model corresponding to the time slot.
When the processor performs the obtaining a play attribute of the computer game in a time slot including a specific time point, the processor may perform: obtaining a list of the play attributes of the computer game in the time slot; and extracting the play attributes included in the list from log data of the computer game.
The processor may execute the program to further perform: extracting play elements of the computer game from pre-stored log data; analyzing extracted play elements to determine the play attributes by time slot; and generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result of the computer game according to the play attributes by time slot, and wherein the game result prediction model in the step of the predicting of the result of the computer game at the specific time point is one of the plurality of game result prediction models.
When the processor performs the generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result according to the play attributes by time slot, the processor may perform: determining, for each time slot, importance of the play attributes by time slot; and generating the plurality of game result prediction models in a decision tree method based on the importance for each time slot.
When the processor performs the generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result according to the play attributes by time slot, the processor may perform: analyzing a correlation between the play attributes by time slot; and generating the plurality of game result prediction models based on the analysis result of the correlation.
According to another embodiment, a method for predicting a result of a computer game at a specific time point during play of the computer game is provided. The method includes: determining a time slot including the specific time point, obtaining play attributes of the computer game in the time slot including the specific time point; and predicting the result of the computer game at the specific time point by inputting the play attributes to a game result prediction model corresponding to the time slot.
The obtaining play attributes of the computer game in the time slot including the specific time point may include: obtaining a list of the play attributes of the computer game in the time slot; and extracting the play attributes included in the list from log data of the computer game.
The method may further include: extracting play elements of the computer game from pre-stored log data; analyzing extracted play elements to determine the play attributes by time slot; and generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result of the computer game according to the play attributes by time slot, and wherein the game result prediction model in the step of predicting of the result of the computer game at the specific time point is one of the plurality of game result prediction models.
The generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result of the computer game according to the play attributes by time slot may include: determining, for each time slot, importance of the play attributes by time slot; and generating the plurality of game result prediction models in a decision tree method based on the importance for each time slot.
The generating a plurality of game result prediction models by time slot based on the play attributes by time slot and the result of the computer game according to the play attributes by time slot may include: analyzing a correlation between the play attributes by time slot; and generating the plurality of game result prediction models based on the analysis result of the correlation.
According to yet another embodiment, a method for predicting a result of a computer game at a specific time point during play of the computer game is provided. The method includes: generating play attributes by each time slot and a plurality of game result prediction models by each time slot from pre-stored log data of the computer game; and predicting the result of the computer game at the specific time point by inputting the play attributes corresponding the time slot including the specific time point into a game result prediction model for the time slot, wherein the game result prediction model for the time slot is one of the plurality of game result prediction models.
In the following detailed description, only certain embodiments of the present invention have been shown and described in detail with reference to the accompanying drawing, simply by way of illustration. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. Further, in order to clearly describe the description in the drawing, parts not related to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
In this specification, unless explicitly described to the contrary, the word “comprise”, and variations such as “including” or “containing”, will be understood to imply the inclusion of stated elements but not the exclusion of any other elements.
In this specification, expressions described in singular can be interpreted as singular or plural unless explicit expressions such as “one” or “single” are used.
In this specification, “and/or” includes all combinations of each and at least one of the mentioned elements.
In this specification, terms including ordinal numbers such as first and second may be used to describe various configurations elements, but the elements are not limited by the terms. The terms may be only used to distinguish one element from another element. For example, a first element may be named a second element without departing from the right range of the present disclosure, and similarly, a second element may be named a first element.
In the flowchart described with reference to the drawings in this specification, the order of the operations may be changed, several operations may be merged, certain operations may be divided, and specific operations may not be performed.
The game result prediction apparatus 10 according to an embodiment may perform training an artificial neural network (ANN) for predicting a result of the computer game, and predict a result of the computer game at a specific time point using a game result prediction model generated as a result of the training. The result of the computer game at the specific time point may be a win probability of the player of the game or the win possibility of a group (or team) to which the player of the game belongs, for example, a win rate at the specific time point. The computer game may be a game under development, or may be a game that is running after being developed.
Referring to
The play element extract unit 110 may extract play elements of the computer game from log data previously stored in the play log database 200. The computer game may be a real-time strategy simulation (RTS) genre, a multiplayer online battle arena (MOBA) genre, or the like. The play elements are materials of play attributes, and the play attributes for predicting the result of the computer game may be determined through analysis and processing of the play elements. For example, in a League of Legend (LOL) game, a difference in the amount of gold collected by each player group may be determined as the play attribute to predict the result of the computer game, and the amount of gold collected by each group to determine the difference in the amount of gold collected by each group may be the play element. The play elements may be used as an input to determine the play attributes, or the play elements may be used as it is as the play attributes.
The play attribute determining unit 120 may analyze the play elements extracted by the play element extract unit 110 to determine the play attributes for each time slot. The play attributes by time slot may be used to predict the result of the computer game for each time slot. For example, when the game result prediction apparatus 10 according to the embodiment predicts the result of the computer game of each player group of the League of Legends game, that is, when determining the game win probability of each player group at every time point, the play attribute determining unit 120 may determine the champion (character) information for each line, the amount of collected gold, the number of kills of enemy champions, the number of objects killed (e.g., towers, dragons, barons), the visual field score, etc. as the play attributes necessary to determine the win probability.
The prediction model generator 130 may perform machine learning based on the play attribute by time slot and the result of the computer game according to the play attributes by time slot, and generate a game result prediction model by time slot as the result of the machine learning. For example, the prediction model generator 130 may generate the game result prediction model for each time slot by using a decision tree method based on importance of each play attribute by time slot. To this end, the prediction model generator 130 may determine, for each time slot, the importance of each play attribute by time slot. Alternatively, the prediction model generator 130 may analyze a correlation between play attributes by time slot, and generate the game result prediction model by time slot based on the correlation analysis result. Through the correlation analysis, the overlapping play attributes for each time slot may be excluded when the game result prediction model is generated.
The time slot matching unit 310 may match a specific time point (or a selected time point) to a predetermined time slot, and obtain a list of play attributes of a time slot matched at the specific time point.
The play attribute extract unit 320 may extract play attributes included in the list of the play attributes from real-time log data at the specific time point.
The game result inference unit 330 may infer the result of the computer game at the specific time point by inputting the play attributes of the specific time point into the game result prediction model by time slot matched at the specific time point.
In the following, the method for predicting the result of the computer game is described through the training step of the game result prediction modeling processor 100 which generates the game result prediction model for each time slot and inference step of the game result prediction processor 300 which predicts the result of the computer game at a specific time point from the game result prediction model by time slot using the play attributes at the specific time point.
Referring to
In the inference step, the time slot matching unit 310 of the game result predicting processor 300 may determine a time slot including the specific time point (or the selected time point), and obtain a list of the play attributes for the determined time slot S140. The specific time point may be a time point selected by a user playing the computer game during play of the computer game or a time point according to a predetermined period. For example, the developer of the computer game may use the game result prediction device 10 to predict the win probability of a specific player at the specific time point during the game or a certain team to which the specific player belongs while developing the computer game or when the computer game is being serviced. Alternatively, the win probability for each time point determined by the game result prediction apparatus 10 may be displayed on one side of the game screen or on a pop-up window according to a selection of the player when the computer game is being played. Here, the timing at which the win probability is displayed may be a timing point according to a predetermined period.
The play attribute extract unit 320 may extract the play attributes included in the list from log data of the computer game S150. The log data of the computer game may be stored in the play log database 200 in real-time while the game is in progress, or may be stored in the play log database 200 after the game is completed. Alternatively, the log data of the computer game may be input to the game result prediction processor 300 while the game is in progress.
The game result inference unit 330 may infer the result of the computer game at the specific time point by inputting the play attributes at the specific time point to the game result prediction model for a time slot including the specific time point S160.
As described above, the result of the computer game at the specific time point may be accurately predicted in game development, game service, game relay, etc. through the game result prediction model generated from play attributes close to the time slot of the played computer game. In addition, a game developer, a game publisher, or a game manager may obtain game metadata about wins, preferences, matches, etc. by analyzing the log data of the computer game play as described above.
The game result prediction apparatus according to another embodiment may be implemented as a computer system, for example, a computer-readable medium. Referring to
Accordingly, the embodiment may be implemented as a method implemented in the computer, or as a non-transitory computer-readable medium in which computer executable instructions are stored. In an embodiment, when executed by a processor, the computer-readable instruction may perform the method according to at least one aspect of the present disclosure.
The communication device 420 may transmit or receive a wired signal or a wireless signal.
On the contrary, the embodiments are not implemented only by the apparatuses and/or methods described so far, but may be implemented through a program realizing the function corresponding to the configuration of the embodiment of the present disclosure or a recording medium on which the program is recorded. Such an embodiment can be easily implemented by those skilled in the art from the description of the embodiments described above. Specifically, methods (e.g., network management methods, data transmission methods, transmission schedule generation methods, etc.) according to embodiments of the present disclosure may be implemented in the form of program instructions that may be executed through various computer means, and be recorded in the computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the computer-readable medium may be those specially designed or constructed for the embodiments of the present disclosure or may be known and available to those of ordinary skill in the computer software arts. The computer-readable recording medium may include a hardware device configured to store and execute program instructions. For example, the computer-readable recording medium can be any type of storage media such as magnetic media like hard disks, floppy disks, and magnetic tapes, optical media like CD-ROMs, DVDs, magneto-optical media like floptical disks, and ROM, RAM, flash memory, and the like.
Program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer via an interpreter, or the like.
The components described in the example embodiments may be implemented by hardware components including, for example, at least one digital signal processor (DSP), a processor, a controller, an application-specific integrated circuit (ASIC), a programmable logic element, such as an FPGA, other electronic devices, or combinations thereof. At least some of the functions or the processes described in the example embodiments may be implemented by software, and the software may be recorded on a recording medium. The components, the functions, and the processes described in the example embodiments may be implemented by a combination of hardware and software. The method according to example embodiments may be embodied as a program that is executable by a computer, and may be implemented as various recording media such as a magnetic storage medium, an optical reading medium, and a digital storage medium.
Various techniques described herein may be implemented as digital electronic circuitry, or as computer hardware, firmware, software, or combinations thereof. The techniques may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device (for example, a computer-readable medium) or in a propagated signal for processing by, or to control an operation of a data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
A computer program(s) may be written in any form of a programming language, including compiled or interpreted languages and may be deployed in any form including a stand-alone program or a module, a component, a subroutine, or other units suitable for use in a computing environment.
A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Processors suitable for execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor to execute instructions and one or more memory devices to store instructions and data. Generally, a computer will also include or be coupled to receive data from, transfer data to, or perform both on one or more mass storage devices to store data, e.g., magnetic magneto-optical disks, or optical disks.
Examples of information carriers suitable for embodying computer program instructions and data include semiconductor memory devices, for example, magnetic media such as a hard disk, a floppy disk, and a magnetic tape, optical media such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), etc. and magneto-optical media such as a floptical disk, and a read only memory (ROM), a random access memory (RAM), a flash memory, an erasable programmable ROM (EPROM), and an electrically erasable programmable ROM (EEPROM) and any other known computer readable medium.
A processor and a memory may be supplemented by, or integrated into, a special purpose logic circuit. The processor may run an operating system 08 and one or more software applications that run on the OS. The processor device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processor device is used as singular; however, one skilled in the art will be appreciated that a processor device may include multiple processing elements and/or multiple types of processing elements.
For example, a processor device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such as parallel processors. Also, non-transitory computer-readable media may be any available media that may be accessed by a computer, and may include both computer storage media and transmission media.
The present specification includes details of a number of specific implements, but it should be understood that the details do not limit any invention or what is claimable in the specification but rather describe features of the specific example embodiment.
Features described in the specification in the context of individual example embodiments may be implemented as a combination in a single example embodiment. In contrast, various features described in the specification in the context of a single example embodiment may be implemented in multiple example embodiments individually or in an appropriate sub-combination.
Furthermore, the features may operate in a specific combination and may be initially described as claimed in the combination, but one or more features may be excluded from the claimed combination in some cases, and the claimed combination may be changed into a sub-combination or a modification of a sub-combination.
Similarly, even though operations are described in a specific order on the drawings, it should not be understood as the operations needing to be performed in the specific order or in sequence to obtain desired results or as all the operations needing to be performed. In a specific case, multitasking and parallel processing may be advantageous. In addition, it should not be understood as requiring a separation of various apparatus components in the above described example embodiments in all example embodiments, and it should be understood that the above-described program components and apparatuses may be incorporated into a single software product or may be packaged in multiple software products.
While this disclosure has been described in connection with what is presently considered to be practical example embodiments, it is to be understood that this disclosure is not limited to the disclosed embodiments.
On the contrary, it is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2019-0179849 | Dec 2019 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
6147696 | Smith | Nov 2000 | A |
7787411 | Lum | Aug 2010 | B2 |
7883419 | Cheung | Feb 2011 | B2 |
8113960 | Kaneko | Feb 2012 | B2 |
8396021 | Lum | Mar 2013 | B2 |
9302179 | Merzenich | Apr 2016 | B1 |
9308445 | Merzenich | Apr 2016 | B1 |
9308446 | Merzenich | Apr 2016 | B1 |
9375643 | Brenden | Jun 2016 | B2 |
9579576 | Cao | Feb 2017 | B2 |
9601026 | Merzenich | Mar 2017 | B1 |
9687734 | Morimura | Jun 2017 | B2 |
9824602 | Merzenich | Nov 2017 | B2 |
9886866 | Merzenich | Feb 2018 | B2 |
9911348 | Merzenich | Mar 2018 | B2 |
9919207 | Brenden | Mar 2018 | B2 |
10002544 | Merzenich | Jun 2018 | B2 |
10216474 | Milevski | Feb 2019 | B2 |
10293256 | Cao | May 2019 | B2 |
10343069 | Noss | Jul 2019 | B2 |
10361982 | Longdale | Jul 2019 | B2 |
10467808 | Murdock | Nov 2019 | B2 |
10518177 | Suzuki | Dec 2019 | B2 |
10576383 | Komaba | Mar 2020 | B2 |
10583362 | Suzuki | Mar 2020 | B2 |
10608974 | Longdale | Mar 2020 | B2 |
10610772 | Morimura | Apr 2020 | B2 |
10673924 | Boudville | Jun 2020 | B2 |
10679125 | Li | Jun 2020 | B1 |
10695676 | Miyamoto | Jun 2020 | B2 |
10722798 | Johnson | Jul 2020 | B1 |
10765949 | Li | Sep 2020 | B1 |
10905960 | Yoneyama | Feb 2021 | B2 |
10987593 | Trombetta | Apr 2021 | B2 |
10994213 | Komaba | May 2021 | B2 |
11017599 | Murdock | May 2021 | B2 |
11117053 | Noss | Sep 2021 | B2 |
11135509 | French | Oct 2021 | B2 |
11219826 | Suzuki | Jan 2022 | B2 |
11338202 | Weising | May 2022 | B1 |
20020054016 | Smith | May 2002 | A1 |
20020054626 | Inamura | May 2002 | A1 |
20040110563 | Tanaka | Jun 2004 | A1 |
20060256819 | Lum | Nov 2006 | A1 |
20080182663 | Cheung | Jul 2008 | A1 |
20090264172 | Morimura | Oct 2009 | A1 |
20090305788 | Bronstein | Dec 2009 | A1 |
20100029382 | Cao | Feb 2010 | A1 |
20100114892 | Kaneko | May 2010 | A1 |
20100197404 | Lum | Aug 2010 | A1 |
20110244946 | Porwal | Oct 2011 | A1 |
20150196841 | Lee | Jul 2015 | A1 |
20150238862 | Suzuki | Aug 2015 | A1 |
20150352451 | Brenden | Dec 2015 | A1 |
20160012741 | Lee | Jan 2016 | A1 |
20160155353 | Merzenich | Jun 2016 | A1 |
20160155354 | Merzenich | Jun 2016 | A1 |
20160155355 | Merzenich | Jun 2016 | A1 |
20160375361 | Brenden | Dec 2016 | A1 |
20170120149 | Cao | May 2017 | A1 |
20170148343 | Merzenich | May 2017 | A1 |
20170252641 | Morimura | Sep 2017 | A1 |
20170337164 | Longdale | Nov 2017 | A1 |
20170339089 | Longdale | Nov 2017 | A1 |
20180011682 | Milevski | Jan 2018 | A1 |
20180093191 | Lee | Apr 2018 | A1 |
20180124148 | Boudville | May 2018 | A1 |
20180225873 | Murdock | Aug 2018 | A1 |
20180280794 | Brenden | Oct 2018 | A1 |
20180290060 | Noss | Oct 2018 | A1 |
20190001226 | Komaba | Jan 2019 | A1 |
20190030436 | Miyamoto | Jan 2019 | A1 |
20190143217 | Yoneyama | May 2019 | A1 |
20190299096 | Suzuki | Oct 2019 | A1 |
20190303769 | Xie | Oct 2019 | A1 |
20190388787 | Padmanabhan | Dec 2019 | A1 |
20200066039 | Murdock | Feb 2020 | A1 |
20200086217 | Trombetta | Mar 2020 | A1 |
20200094142 | Suzuki | Mar 2020 | A1 |
20200122039 | Meuleau | Apr 2020 | A1 |
20200155950 | Komaba | May 2020 | A1 |
20200289939 | Hagland | Sep 2020 | A1 |
20200406138 | Suzuki | Dec 2020 | A1 |
20210016185 | Linguanti | Jan 2021 | A1 |
20210069592 | Noss | Mar 2021 | A1 |
20210077906 | Akaza | Mar 2021 | A1 |
20210165481 | Brugarolas Brufau | Jun 2021 | A1 |
20210197087 | Lee | Jul 2021 | A1 |
20210245044 | French | Aug 2021 | A1 |
20210245059 | Trombetta | Aug 2021 | A1 |
20210255471 | Trisnadi | Aug 2021 | A1 |
20210264319 | Cao | Aug 2021 | A1 |
20210275911 | Padmanabhan | Sep 2021 | A1 |
20210291051 | Edridge | Sep 2021 | A1 |
20210362054 | Blok | Nov 2021 | A1 |
20210387091 | Noss | Dec 2021 | A1 |
20220054943 | Wu | Feb 2022 | A1 |
20220168636 | Weising | Jun 2022 | A1 |
Number | Date | Country |
---|---|---|
10-0621559 | Sep 2006 | KR |
10-2019-0045043 | May 2019 | KR |
Entry |
---|
Vanessa Volz et al., “Towards Embodied StarCraft II Winner Prediction”, In: Cazenave T., Saffidine A., Sturtevant N. (eds) Computer Games. CGW 2018. Communications in Computerand Information Science, vol. 1017. Springer, Cham, https://doi.org/10.1007/978-3-030-24337-1_1. |
Weiqi Wang, “Predicting Multiplayer Online Battle Arena (MOBA) Game Overcome Based on Hero Draft Data”, MSc Research Project in Data Analytics, Dec. 21, 2016, Natioanl College of Ireland. |
Lijun Yu et al., “MOBA-Slice: A Time Slice Based Evaluation Framework of Relative Advantage between Teams in MOBA Games”, In: Cazenave T., Saffidine A., Sturtevant N. (eds) Computer Games. CGW 2018. Communications in Computer and Information Science, vol. 1017. Springer, Cham. https://doi.org/10.1007/978-3-030-24337-1_2. |
Ji-Min Ku et al., “Design and Application of a Winning Forecast Model of the AOS Genre Game”, KIISE Transactions an Computing Practices, vol. 23, No. 1, pp. 37-44, 2017. 1. |
Dong-Wook Kim, “A study for the prediction of winning of e-Sports by using machine Learning”, Master's Thesis, Graduate School of Software Soongsil University, Dec. 2016. |
Number | Date | Country | |
---|---|---|---|
20210197087 A1 | Jul 2021 | US |