Augmenting Real-World Activity Simulation with Real-World Data of Activities
By analyzing real-world data to adjust game simulations, the method improves the realism and engagement of game applications by accurately reflecting player and environmental conditions, enhancing the gaming experience.
Patent Information
- Application Number
- JP2022569283
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-09
- Filing Date
- 2021-05-14
- Publication Date
- 2025-01-31
- Estimated Expiration
- 2041-05-14
AI Technical Summary
Existing game applications lack the ability to realistically simulate real-world activities by incorporating real-time data from players and environmental factors, leading to a suboptimal gaming experience.
A method and system that analyzes real-world activity data, including videos, audio, and statistical data, to enhance game simulations by adjusting the physical engine, player abilities, and user interface to reflect real-world scenarios, using technologies such as noise level measurement, speech-to-text, image recognition, and statistical analysis.
Enhances the realism and engagement of game simulations by accurately reflecting player and environmental conditions, improving player performance and gamer experience.
Smart Images

Figure 0007625012000001 
Figure 0007625012000002 
Figure 0007625012000003
Abstract
Description
[Technical field]
[0001] The present invention relates generally to methods, systems, and computer program products for real-world activity simulation. More particularly, the present invention relates to methods, systems, and computer program products for augmenting real-world activity simulation with real-world data of the activity. [Background technology]
[0002] As used herein, a player is a participant in a real-world activity, which is the source of data for an electronic game, or e-game, or game application played by a gamer.
[0003] Gaming applications that simulate real-world activities have become popular. Developers of gaming applications strive to create the most realistic simulation possible of the real world, incorporating ever-increasing levels of detail imported from data from real-world activities. For example, one popular category of gaming applications is games that simulate real-world sports such as baseball, basketball, soccer, and North American football. Characters in sports games are intended to perform as closely as possible to their real-world counterparts, according to attributes derived from data from their real-world counterparts, such as speed, strength, and shooting power. Simulation extends to the simulated in-game appearance of players, such as the way a particular soccer player stands before a free kick. Players are also often influenced by environmental factors, such as the cheers or jeers of the crowd, and the weather in outdoor games. Additionally, players are not only individual performers with individual sets of statistics, but can also be influenced by other members of their team or opponents. For example, players in a team pair may consistently perform better together than when either player is paired with another player, or players may perform better when playing against their biggest rivals than when playing against other opponents.
[0004] E-gaming is also a spectator sport, where viewers have access to video and audio of gamers playing the e-game, as well as one or more perspectives of the gamers' performance in a simulated arena. In addition, environmental factors, such as the cheers or jeers of the crowd, are conveyed to the gamers. Thus, the gamers are also influenced by these environmental factors.
[0005] In an illustrative embodiment, it has been realized that when simulating real-world activity, updating the simulation to account for real-world occurrences is important to the realism of the simulation. Thus, simulated player data needs to be updated, for example, every playing season, or more frequently, to account for real-world performance, injuries, new skills, muscle atrophy, and mental blocks, among other factors. Because actual e-game play remains relatively similar between versions of the application, updates to player data are often a significant driver of e-game sales.
[0006] The exemplary embodiments also recognize that collecting performance statistics and other data for all players in a sports league can be time-consuming and expensive, especially for leagues with many players or many games during a season. However, in such sports leagues, video and audio clips of key game moments, if not video and audio of entire games, are typically available as sources of player data. Thus, an automated method of using existing video and audio data to collect player data for use in e-games is desired.
[0007] In an exemplary embodiment, it is realized that just as a player's state affects his / her real-world gameplay, the same should be true for the simulation of the player in an e-game to improve the realism of the e-game. For example, if a player is tired, affected by crowd noise or weather, or plays better with a particular teammate, the same should be simulated in the e-game. Thus, there is a need to determine the effect of a player's state, supported by video, audio, and statistical data, on his / her real-world performance to provide a more realistic simulation of that performance. In an exemplary embodiment, it is realized that in order to improve the e-game experience of gamers and their spectators, the e-game should also attempt to determine and affect the gamer's state, and collect feedback on how successfully its attempts actually affected the gamer's state. Summary of the Invention
[0008] Exemplary embodiments provide methods, systems, and computer program products. One embodiment includes a method for identifying a real-world scenario within a threshold similarity from the analyzed video, audio, and statistical data of the real-world activity by analyzing video, audio, and statistical data of the real-world activity. The embodiment applies the real-world scenario to a gaming application that uses the real-world activity as a data source, where the applying includes adjusting a portion of a physics engine, where the physics engine simulates physical phenomena depicted in the gaming application. In this manner, the embodiment provides real-world activity simulation augmentation with real-world data of the activity.
[0009] In another embodiment, the video, audio, and statistical data includes data of players participating in the real-world activity. In this manner, this embodiment provides for augmenting a real-world activity simulation with real-world data of players participating in the real-world activity.
[0010] In another embodiment, the video, audio, and statistical data includes data of environmental factors associated with the real-world activity. In this manner, this embodiment provides real-world activity simulation augmentation with real-world data of environmental factors associated with the real-world activity.
[0011] In another embodiment, applying the real-world scenario to the game application further includes adjusting a set of player performance data of the game application, where the set of player performance data simulates within the game application a player's ability to participate in the real-world activity. In this manner, this embodiment provides real-world activity simulation augmentation by adjusting a set of player performance data of a player of the real-world activity.
[0012] In another embodiment, applying the real-world scenario to the gaming application further includes adjusting an output of a user interface of the gaming application, the adjusted output intended to change a gamer's experience using the gaming application. In this manner, this embodiment provides real-world activity simulation augmentation by changing a gamer's experience using a gaming application that simulates real-world activity.
[0013] Another embodiment analyzes video, audio, and statistical data of a gamer using a gaming application to identify gamer scenarios within a threshold similarity from the analyzed video, audio, and statistical data of the gamer. This embodiment applies the gamer scenario to the gaming application, where the applying includes adjusting an output of a user interface of the gaming application, where the adjusted output is intended to change an emotion of the gamer. In this manner, this embodiment provides real-world activity simulation augmentation by changing an emotion of a gamer using a gaming application that simulates a real-world activity.
[0014] One embodiment includes a computer usable program product that includes one or more computer readable storage devices and program instructions stored on at least one of the one or more storage devices.
[0015] One embodiment includes a computer system including one or more processors, one or more computer readable memories, one or more computer readable storage devices, and program instructions stored in at least one of the one or more storage devices and executed by at least one of the one or more processors via at least one of the one or more memories.
[0016] BRIEF DESCRIPTION OF THE DRAWINGS Certain novel features which are believed to be characteristic of this invention are set forth in the appended claims. The invention itself, however, together with its preferred mode of use, further objects and advantages thereof, will best be understood by reading the following detailed description of illustrative embodiments in connection with the accompanying drawings. [Brief description of the drawings]
[0017] [Figure 1]1 is a block diagram of a network of data processing systems in which illustrative embodiments may be implemented; [Diagram 2] 1 is a block diagram of a data processing system in which illustrative embodiments may be implemented; [Diagram 3] FIG. 1 is a block diagram of an exemplary configuration for augmenting real-world activity simulation with real-world data for an activity, according to an exemplary embodiment. [Figure 4] FIG. 1 is a block diagram of an exemplary configuration for augmenting real-world activity simulation with real-world data for an activity, according to an exemplary embodiment. [Diagram 5] FIG. 1 is a block diagram of an exemplary configuration for augmenting real-world activity simulation with real-world data for an activity, according to an exemplary embodiment. [Figure 6] FIG. 1 is a block diagram of an exemplary configuration for real-world activity simulation augmentation. [Figure 7] FIG. 1 is a block diagram of an exemplary configuration for augmenting real-world activity simulation with real-world data for an activity, according to an exemplary embodiment. [Figure 8] FIG. 1 illustrates an example of augmenting real-world activity simulation with real-world data for an activity, according to an illustrative embodiment. [Figure 9] FIG. 13 illustrates a continuation of the example of augmenting real-world activity simulation with real-world data for an activity in accordance with an illustrative embodiment. [Figure 10] FIG. 13 illustrates a continuation of the example of augmenting real-world activity simulation with real-world data for an activity in accordance with an illustrative embodiment. [Figure 11] 1 is a flowchart of an exemplary process for augmenting real-world activity simulation with real-world data for an activity, according to an exemplary embodiment. [Figure 12]FIG. 1 illustrates a cloud computing environment according to one embodiment of the present invention. [Figure 13] FIG. 2 illustrates abstraction model layers according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0018] In an exemplary embodiment, it has been recognized that an unmet need exists for an automated method of collecting player and gamer data, determining the impact of that data on player or gamer performance, and incorporating the results into an e-game that simulates the player and is played by the gamer.
[0019] In the illustrative embodiments, it has been recognized that currently available tools or solutions do not address these needs or provide an adequate solution to these needs. The illustrative embodiments used to describe the present invention generally address and solve the problems discussed above, as well as other problems associated with augmenting real-world activity simulation with real-world data of the activity.
[0020] An embodiment may be implemented as a software application. An application implementing an embodiment may be configured as a modification to an existing simulation system, as a separate application operating in conjunction with an existing simulation system, as a stand-alone application, or some combination thereof.
[0021] In particular, some demonstrative embodiments provide a method for identifying real-world scenarios within a threshold similarity from the analyzed data of real-world activities by analyzing the data of the real-world activities, the method applying the real-world scenarios to a gaming application that uses the real-world activities as a data source.
[0022] One embodiment analyzes data of a real-world activity. In an embodiment, the analyzed data includes one or more of video, audio, and statistical data of the real-world activity. In an embodiment, the analyzed data includes data of players of the real-world activity, as well as data that is not specific to a particular player, and data of a combination of two or more players.
[0023] To analyze the data, an embodiment uses any currently known analysis technique. An embodiment uses noise level measurement, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify from audio data obtained using one or more microphones the noise levels associated with a live crowd at the game, whether the crowd is cheering or booing, what the players are saying during a particular part of the game, and similar information. Other embodiments use image recognition, gesture recognition, and other currently known video processing techniques to extract and identify from video data obtained using one or more video cameras what happens in the game (e.g., player A passes the ball to player B, and player B scores a goal), the typical stance or movement of the players and their game context (e.g., how player C stands at bat during a baseball game, how player D raises his arms after making a successful golf putt), the appearance and movement of the crowd (e.g., crowd waves, signs held by members of the crowd), weather conditions (e.g., whether it is raining or snowing), and similar information. Other embodiments use currently available statistical analysis techniques to extract and identify player statistics (e.g., Player E's batting average in baseball, Player F's free throw success rate in basketball) from numerical data of players, games, sets of games, and environmental conditions. Player statistics include correlations with other statistics. For example, Player G may run faster by a statistically significant amount during a track and field event when the temperature is above 25 degrees Celsius. Player statistics also include a player's statistics in relation to other players. For example, players on a team pair may consistently perform better together than when either player is paired with the other player, or players may perform better when playing against their biggest rivals than against other opponents.
[0024] One embodiment analyzes data of gamers playing e-games. In an embodiment, the analyzed data includes one or more of video, audio, and statistical data of the e-games. In an embodiment, the analyzed data includes data of gamers, as well as data that is not specific to a particular gamer, and data of a combination of two or more gamers.
[0025] To analyze the data, an embodiment uses any currently known analysis technique. An embodiment uses noise level measurement, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify from audio data obtained using one or more microphones the noise levels associated with a real or virtual crowd of an e-game, whether the crowd is cheering or booing, what the gamers are saying during a particular portion of the e-game, and similar information. Other embodiments use image recognition, gesture recognition, and other currently known video processing techniques to extract and identify from video data obtained using one or more video cameras what happens in the e-game (e.g., gamer A passes a simulated ball to gamer B, who scores a simulated goal), the typical stance or movement of gamers and their game context (e.g., how gamer C raises his arms after scoring a simulated goal), the appearance and movement of the crowd, and similar information. Other embodiments use currently available statistical analysis techniques to extract and identify gamer statistics (e.g., gamer D's win / loss record during a set of e-games) from the numerical data for the gamers, e-games, and sets of e-games. Gamer statistics also include correlations with other statistics and gamer statistics in relation to other gamers. For example, a team of paired gamers may consistently perform better together than when either gamer is paired with another gamer.
[0026] One embodiment represents the results of the real world activity data analysis by a multi-dimensional vector, with each dimension representing a result of the analysis. One embodiment also represents the results of the gamer activity data analysis by a multi-dimensional vector. For example, a model trained to recognize a particular set of gestures may analyze a video clip of Player D raising his arm after making a successful golf putt and score the clip highly for certain recognized gestures, resulting in a vector that points to dimensions representing the recognized gestures.
[0027] One embodiment identifies real-world scenarios represented by multi-dimensional vectors that are within a threshold similarity from the analyzed data of real-world activity. For example, a vector representing a real-world scenario may include dimensions representing opposing teams, game locations, game scores, individual player statistics (e.g., points and rebounds in basketball), time remaining in the game, player positioning on the field, presence of particular teammates, presence of particular opposing players, volume of crowd noise, crowd emotion derived from the noise, crowd emotion derived from gestures (e.g., hands on head, hands in jacket, hands in air), reputation or importance in the game, player emotion derived from gestures (e.g., hands in air, head down, facial expression), recent outcome trends (win streak, losing streak, number of points scored in recent games), and weather conditions. For example, a real-world scenario may be that player D always raises his arms in a particular recognized gesture after making a successful golf putt. Another real-world scenario may be that if a hockey team has a one-player advantage in the third period and player G passes the puck to teammate player H while both are on offense, player H will score with a statistically significantly higher probability than in other situations where player H is playing. One embodiment identifies gamer scenarios, also represented by multi-dimensional vectors, that are within a threshold similarity from the analyzed data of gamer activity data. One embodiment identifies the real-world or gamer scenarios using any currently available technique, for example, data clustering techniques. One embodiment determines the similarity using a cosine similarity calculation. Cosine similarity is a measure of the cosine of the angle between two vectors in a multi-dimensional space, where each vector is normalized to a common scale magnitude (e.g., between 0 and 1), each representing a set of data.The smaller the angle, the higher the cosine similarity, and therefore the more similar the two sets of data are to each other. One embodiment retains the identified real-world and gamer scenarios in a scenario library for later reuse and further refinement.
[0028] One embodiment applies real-world scenarios to a gaming application. One embodiment applies real-world scenarios to a gaming application by adjusting a portion of the physics engine of the gaming application. The physics engine simulates the physical phenomena depicted in the simulation. For example, when a simulated basketball player throws a basketball with a given force from a given position relative to a basket, the physics engine determines the arc that the ball travels from the player and whether the ball goes into the basketball hoop.
[0029] Thus, to apply an exemplary real-world scenario in which player A is encouraged by a cheering crowd or plays better with player B than with other teammates, an embodiment modifies parameters governing the calculations of the physics engine to make outcomes consistent with improved performance more likely to occur. For example, a physics engine used to simulate a game of basketball may be modified to lower the location of the simulated basketball hoop, lower gravity, or move player A's simulated location closer to the simulated hoop. As a result, player A's simulated shots are more likely to be successful than they would be without modifying the physics engine, consistent with the effect of improved performance in that scenario. As another example, a physics engine used to simulate a game of soccer may alter the simulated soccer field to place the opposing team's goal on a downhill slope from midfield, making it easier for player A to run to the goal and easier for player A's shots to score. Meanwhile, to apply an exemplary real-world scenario in which player C is demotivated by a booing crowd or a very hot day, an embodiment modifies parameters governing the calculations of the physics engine to make outcomes consistent with poor performance more likely to occur. For example, a basketball physics engine may be modified to raise the location of the simulated basketball hoop, increase gravity, or move Player C's simulated location further away from the simulated hoop. As a result, Player C's simulated shot will be less likely to be successful than it would be without the physics engine modification, consistent with the effect of poor performance in that scenario. As another example, a soccer physics engine may vary the simulated soccer field to make it harder for Player A to run toward the goal by placing the opposing team's goal uphill from midfield, making Player A's shot harder to score.
[0030] Notably, an embodiment maintains a realistic appearance of an e-game by adjusting portions of a physics engine of a game application without changing the appearance of the e-game to the e-gamer or to a spectator of the e-game. For example, if an embodiment lowers the position of a simulated basketball hoop in a physics engine, the simulated basketball hoop continues to appear at a normal height. Thus, adjustments to the physics engine affect only the movement of the simulated physics, and do not affect the appearance of the simulated physics.
[0031] An embodiment applies real-world scenarios to a game application by adjusting a set of player performance data for the game application. The set of player performance data simulates the performance of a player within the game application. For example, a set of player performance data for a basketball e-game may include the height of player A and the force with which player A is simulated to shoot. Thus, to apply an exemplary real-world scenario in which player A is encouraged by a cheering crowd or plays better with player B than with another teammate, an embodiment may vary the simulated player A's performance data to increase player A's height and / or increase the force with which player A is simulated to shoot. As a result, player A's simulated shot is more likely to be successful than if the simulated player A's performance data was not adjusted, consistent with the effect of improved performance in that scenario. Meanwhile, to apply an exemplary real-world scenario in which player C is discouraged by a booing crowd or a very hot day, an embodiment may vary the simulated player C's performance data to decrease player C's height and / or decrease the force with which player C is simulated to shoot. As a result, Player C's simulated shot is less likely to be successful than it would be if we did not adjust for Player C's simulated ability data, consistent with the effect of poor performance in that scenario.
[0032] One embodiment applies real-world scenarios to a gaming application by adjusting the output of a user interface of the gaming application. The adjusted output is intended to change a gamer's experience using the gaming application. For example, to apply an exemplary real-world scenario in which Player D is attempting a difficult shot, one embodiment may shake a game controller input device of a gamer simulating Player D or generate simulated encouraging cheers from a simulated crowd.
[0033] An embodiment identifies gamer scenarios represented by multi-dimensional vectors that are within a threshold similarity from the analyzed data of gamer activities. For example, the vectors representing gamer scenarios may include dimensions representing any of the dimensions described herein with respect to real-world scenarios. As another example, the vectors representing gamer scenarios may include gamer-specific dimensions, such as opposing gamers or non-human virtual opponents, reputation or importance in the e-game context, recent outcome trends in the e-game context (win streaks, loss streaks, number of points scored in recent games), the gamer's physical location, game settings (e.g., difficulty level, sensitivity), noise levels in the gamer's physical environment, noise sensitivity in the gamer's physical environment, observed gamer gestures (e.g., hands raised, holding head), presence of a crowd at the physical location, and crowd gestures at the physical location. The gamer's physical environment is the physical environment in which the gamer is operating the e-game, such as the e-gamer's room in a home, a conference room, or an arena. For example, a gamer scenario may be that Gamer E is attempting a difficult shot in an e-game. One embodiment involves shaking Gamer E's game controller to indicate difficulty, but the shaking is so severe that Gamer E responds by dropping the game controller (as detected by analyzing Gamer E's video data) and missing the simulated shot.
[0034] As a result, an embodiment applies a gamer scenario to a game application by adjusting the output of the game application's user interface. The adjusted output is intended to further change the gamer's experience or feelings using the game application. For example, if an embodiment shakes Gamer E's game controller too violently and Gamer E reacts by dropping the game controller, the next time this gamer scenario is identified, an embodiment shakes Gamer E's game controller less violently than before, causing the intended experience (display of difficulty) rather than the unintended experience (dropping the controller).
[0035] The method of augmenting real-world activity simulation with real-world data of the activity described herein is not available in currently available methods in the technological field of endeavors related to real-world simulation. The method of one embodiment described herein, when implemented to run on a device or data processing system, comprises a significant advance in the capabilities of the device or data processing system with respect to identifying real-world scenarios within a threshold similarity from the analyzed data of the real-world activity by analyzing video, audio, and statistical data of the real-world activity. The method applies the real-world scenarios to a gaming application that uses the real-world activity as a data source, including adjusting a portion of the physics engine of the gaming application, adjusting a set of player performance data of the gaming application, and adjusting an output of a user interface of the gaming application.
[0036] The illustrative embodiments are described by way of example only with respect to particular types of activity data, player data, gamer data, scenarios, user interfaces, thresholds, adjustments, sensors, measurements, devices, data processing systems, environments, components, and applications. Any particular manifestation of these and other similar artifacts is not intended to limit the invention. Any suitable manifestation of these and other similar artifacts may be selected within the scope of the illustrative embodiments.
[0037] Additionally, the exemplary embodiments may be implemented with respect to any type of data, data source, or access to a data source via a data network. Any type of data storage device may provide data to an embodiment of the present invention locally at a data processing system or via a data network within the scope of the present invention. When describing an embodiment using a mobile device, any type of data storage device suitable for use with a mobile device may provide data to such an embodiment locally at the mobile device or via a data network within the scope of the exemplary embodiments.
[0038] The exemplary embodiments are described using specific code, designs, architectures, protocols, layouts, schematics, and tools as examples only and are not intended to be limiting to the exemplary embodiments. Furthermore, the exemplary embodiments are described in some examples using specific software, tools, and data processing environments as examples only for clarity of explanation. The exemplary embodiments may be used with other equivalent or similar purpose structures, systems, applications, or architectures. For example, other equivalent mobile devices, structures, systems, applications, or architectures thereof may be used with such embodiments of the present invention within the scope of the present invention. The exemplary embodiments may be implemented in hardware, software, or a combination thereof.
[0039] The examples in this disclosure are used for clarity of explanation only and are not intended to be limiting to the exemplary embodiments. Additional data, operations, actions, tasks, activities, and operations are contemplated by this disclosure, and the same are contemplated within the scope of the exemplary embodiments.
[0040] Any advantages listed herein are merely examples and are not intended to be limiting to example embodiments. Additional or different advantages may be realized by certain example embodiments. Moreover, certain example embodiments may have some, all, or none of the advantages listed above.
[0041] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the invention may be implemented in conjunction with any other type of computing environment now known or later developed.
[0042] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider. The cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
[0043] Its features are as follows.
[0044] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time and network storage, automatically as they need it, without the need for human interaction with the provider of the service.
[0045] Broad Network Access: Capabilities are available over the network and are accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, and PDAs).
[0046] Resource Pooling: Pooling provider computing resources to serve multiple consumers using a multi-tenant model where various physical and virtual resources are dynamically allocated and reallocated according to demand. Consumers generally have no control over or knowledge of the exact location of the resources provided to them, although there is a sense of location independence in that the location may be identifiable at a higher level of abstraction (e.g., country, state, or data center).
[0047] Rapid Elasticity: Capacity can be rapidly and elastically provisioned, sometimes automatically, to quickly scale out and rapidly release to quickly scale in. To the consumer, provisionable capacity often appears to be unlimited and can be purchased in any quantity at any time.
[0048] Metered Services: Cloud systems leverage metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts) to automatically control and optimize resource usage. Resource usage can be monitored, managed, and reported to provide transparency to both providers and consumers of the services utilized.
[0049] The service model is as follows:
[0050] Software as a Service (SaaS): The capability offered to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer has no management or control over the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application features, with the possible exception of limited user-specific application configuration settings.
[0051] Platform as a Service (PaaS): The capability offered to a consumer is to deploy applications that the consumer creates or acquires, written using programming languages and tools supported by the provider, onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and possibly the application hosting environment configuration.
[0052] Infrastructure as a Service (IaaS): The ability offered to consumers is to provision processing, storage, network, and other basic computing resources onto which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but does control the operating systems, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).
[0053] The deployment model is as follows:
[0054] Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by the organization or a third party and can be on-premise or off-premise.
[0055] Community Cloud: The cloud infrastructure is shared by several organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It may be managed by the organization or a third party and may exist on-premise or off-premise.
[0056] Public Cloud: The cloud infrastructure is made available to the general public or large industry organizations and is owned by an organization that sells cloud services.
[0057] Hybrid Cloud: A cloud infrastructure is a composite of two or more clouds (private, community, or public) that remain unique entities but are joined by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0058] Cloud computing environments are service-oriented with an emphasis on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0059]
[0023] Referring now to the figures, and in particular to Figures 1 and 2, which are exemplary diagrams of data processing environments in which illustrative embodiments may be implemented, Figures 1 and 2 are merely examples and are not intended to assert or imply any limitation with respect to the environments in which different embodiments may be implemented. In particular implementations, many changes may be made to the depicted environments based on the following description.
[0060] 1 illustrates a block diagram of a network of data processing systems in which an exemplary embodiment may be implemented. Data processing environment 100 is a network of computers in which an exemplary embodiment may be implemented. Data processing environment 100 includes network 102. Network 102 is the medium used to provide communications links between various interconnected devices and computers within data processing environment 100. Network 102 may include connections, such as wired, wireless communication links, or fiber optic cables.
[0061] Client or server are merely exemplary roles for particular data processing systems connected to network 102 and are not intended to exclude other configurations or roles for these data processing systems. Server 104 and server 106 are coupled to network 102 along with storage unit 108. Software applications may run on any computer in data processing environment 100. Clients 110, 112, and 114 are also coupled to network 102. A data processing system, such as server 104 or 106, or client 110, 112, or 114, may contain data and may have software applications or software tools executed thereon.
[0062] Merely by way of example, and without implying any limitation to such architecture, Figure 1 illustrates certain components that may be used in an exemplary implementation of an embodiment. For example, servers 104 and 106 and clients 110, 112, 114 are illustrated as servers and clients, merely by way of example, and not to imply any limitation to a client-server architecture. As another example, an embodiment may be distributed across several data processing systems and data networks as illustrated, although other embodiments may be implemented on a single data processing system within the scope of an exemplary embodiment. Data processing systems 104, 106, 110, 112, and 114 also represent exemplary nodes in a cluster, partitions, and other configurations suitable for implementing an embodiment.
[0063] Device 132 is an example of a device as described herein. For example, device 132 may take the form of a smartphone, a tablet computer, a laptop computer, a stationary or portable client 110, a wearable computing device, or any other suitable device. Any software applications described as executing in the other data processing systems of FIG. 1 may be configured to execute in a similar manner in device 132. Any data or information stored or generated in the other data processing systems of FIG. 1 may be configured to be stored or generated in a similar manner in device 132. Device 132 includes microphone 134 and video camera 136 that can be used to collect audio and video data of real-world activities as described herein. Alternatively, microphone 134 and video camera 136 may be located in other devices and communicate with any of servers 104 and 106, clients 110, 112, and 114, and device 132 over network 102.
[0064] The application 105 implements one embodiment described herein. The application 105 runs on any of the servers 104 and 106, the clients 110, 112, and 114, and the device 132.
[0065] The servers 104 and 106, the storage unit 108, the clients 110, 112, and 114, and the device 132 may be coupled to the network 102 using wired connections, wireless communication protocols, or other suitable data connections. The clients 110, 112, and 114 may be, for example, personal computers or network computers.
[0066] In the depicted example, server 104 may provide data such as, for example, boot files, operating system images, and applications to clients 110, 112, and 114. Clients 110, 112, and 114 may be clients to server 104 in this example. Clients 110, 112, 114, or some combination thereof, may include their own data, boot files, operating system images, and applications. Data processing environment 100 may include additional servers, clients, and other devices not shown.
[0067] In the depicted example, data processing environment 100 may be the Internet. Network 102 may represent a collection of networks and gateways that communicate with each other using Transmission Control Protocol / Internet Protocol (TCP / IP) and other protocols. At the heart of the Internet is a backbone of data communication links between major nodes or host computers, including thousands of commercial, government, educational, and other computer systems that route data and messages. Of course, data processing environment 100 may also be implemented as a number of different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). FIG. 1 is intended as an example, and not as an architectural limitation to the different illustrative embodiments.
[0068] Among other uses, the data processing environment 100 may be used to implement a client-server environment in which the exemplary embodiments may be implemented. A client-server environment allows software applications and data to be distributed across a network such that applications function using interactivity between client and server data processing systems. The data processing environment 100 may also employ a service-oriented architecture in which interoperable software components distributed across a network may be packaged together as a coherent business application. The data processing environment 100 may also take the form of a cloud and employ a cloud computing model of service delivery to enable convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a provider of the services.
[0069] Referring to Figure 2, this figure illustrates a block diagram of a data processing system in which the exemplary embodiments may be implemented. Data processing system 200 is an example of a computer, such as servers 104 and 106 or clients 110, 112, and 114 of Figure 1, or other type of device in which computer usable program code or instructions implementing the processing of the exemplary embodiments may be located.
[0070] Data processing system 200 also represents a data processing system, or configurations therein, such as data processing system 132 of FIG. 1, in which computer usable program code or instructions implementing the processes of the exemplary embodiments may be located. Data processing system 200 is described as a computer by way of example only and without limitation. Implementations in the form of other devices, such as device 132 of FIG. 1, may modify data processing system 200, such as by adding a touch interface, or even omit certain illustrated components from data processing system 200, without departing from the general description of the operation and functionality of data processing system 200 described herein.
[0071] In the illustrated example, data processing system 200 employs a hub architecture including a north bridge and memory controller hub (NB / MCH) 202 and a south bridge and input / output (I / O) controller hub (SB / ICH) 204. A processing unit 206, a main memory 208, and a graphics processor 210 are coupled to north bridge and memory controller hub (NB / MCH) 202. Processing unit 206 may include one or more processors and may be implemented using one or more heterogeneous processor systems. Processing unit 206 may be a multi-core processor. Graphics processor 210 may be coupled to NB / MCH 202 via an accelerated graphics port (AGP) in certain implementations.
[0072] In the illustrated example, a local area network (LAN) adapter 212 is coupled to the south bridge and I / O controller hub (SB / ICH) 204. An audio adapter 216, a keyboard and mouse adapter 220, a modem 222, a read-only memory (ROM) 224, a universal serial bus (USB) and other ports 232, and a PCI / PCIe® device 234 are coupled to the south bridge and I / O controller hub 204 via a bus 238. A hard disk drive (HDD) or solid state drive (SSD) 226 and a CD-ROM 230 are coupled to the south bridge and I / O controller hub 204 via a bus 240. The PCI / PCIe® device 234 may include, for example, an Ethernet® adapter, an add-in card, and a PC card for a notebook computer. PCI uses a card bus controller, whereas PCIe® does not. ROM 224 may be, for example, a flash binary input / output system (BIOS). Hard disk drive 226 and CD-ROM 230 may use, for example, integrated drive electronics (IDE), serial advanced technology attachment (SATA) interfaces, or variations such as external SATA (eSATA) and micro-SATA (mSATA). Super I / O (SIO) device 236 may be coupled to south bridge and I / O controller hub (SB / ICH) 204 via bus 238.
[0073] Memory such as main memory 208, ROM 224, or flash memory (not shown) are examples of some of the computer usable storage devices. Hard disk drives or solid state drives 226, CD-ROM 230, and other similarly usable devices are examples of some of the computer usable storage devices that include computer usable storage media.
[0074] An operating system runs on the processing unit 206. The operating system coordinates and controls various components within the data processing system 200 of FIG. 2. The operating system may be a commercially available operating system for any type of computing platform, including but not limited to server systems, personal computers, and mobile devices. An object-oriented or other type of programming system may work in conjunction with the operating system to provide calls to the operating system from programs or applications executing on the data processing system 200.
[0075] Instructions for an operating system, an object oriented programming system, and an application or program, such as application 105 of FIG. 1, may be located on a storage device, such as in the form of code 226A on hard disk drive 226, and loaded into at least one of one or more memories, such as main memory 208, for execution by processing unit 206. The processing of exemplary embodiments may be performed by processing unit 206 using computer-implemented instructions, which may be located in a memory, such as main memory 208, read-only memory 224, or in one or more peripheral devices, for example.
[0076] Additionally, in some cases, the code 226A may be downloaded over the network 201A from a remote system 201B where similar code 201C is stored in a storage device 201D, while in other cases, the code 226A may be downloaded over the network 201A to the remote system 201B where the downloaded code 201C is stored in a storage device 201D.
[0077] The hardware in Figures 1 and 2 may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash memory, equivalent non-volatile memory, or optical disk drives, may be used in addition to or in place of the hardware depicted in Figures 1 and 2. Additionally, the processing of the illustrative embodiments may be applied to multiprocessor data processing systems.
[0078] In some illustrative examples, data processing system 200 may be a personal digital assistant (PDA) that is typically configured with a flash memory that provides non-volatile memory for storing operating system files and / or user-generated data. The bus system may include one or more buses, such as a system bus, an I / O bus, and a PCI bus. Of course, the bus system may be implemented using any type of communications fabric or architecture that provides for a transfer of data between various components or devices attached to the fabric or architecture.
[0079] The communications unit may include one or more devices used to transmit and receive data, such as a modem or network adapter. The memory may be, for example, main memory 208 or a cache, such as a cache in the north bridge and memory controller hub 202. The processing unit may include one or more processors or CPUs.
[0080] 1 and 2 and above-described examples are not meant to imply architectural limitations. For example, data processing system 200 may also be a tablet computer, a laptop computer, or a telephone device in addition to taking the form of a mobile or wearable device.
[0081] When a computer or data processing system is described as a virtual machine, virtual device, or virtual component, the virtual machine, virtual device, or virtual component operates like data processing system 200 using a virtualized representation of some or all of the components depicted in data processing system 200. For example, in a virtual machine, virtual device, or virtual component, processing unit 206 is represented as a virtualized instance of all or a portion of the hardware processing unit 206 available to the host data processing system, main memory 208 is represented as a virtualized instance of all or a portion of the main memory 208 that may be available to the host data processing system, and disk 226 is represented as a virtualized instance of all or a portion of the disk 226 that may be available to the host data processing system. The host data processing system in such a case is represented by data processing system 200.
[0082] Referring to Figure 3, this figure shows a block diagram of an example configuration for augmenting real-world activity simulation with real-world data of an activity, according to an example embodiment. Application 300 is an example of application 105 of Figure 1 and executes on any of servers 104 and 106, clients 110, 112, and 114, and device 132 of Figure 1.
[0083] The real world analytics module 310 analyzes data of real world activities, including one or more of video, audio, and statistical data of the real world activities. Implementations of the module 310 analyze data of players of the real world activities, as well as data that is not specific to a particular player, and data of combinations of two or more players.
[0084] To analyze the data, module 310 uses any currently known analysis technique. Thus, module 310 uses noise level measurement, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify from audio data obtained using one or more microphones the noise level associated with a live audience at the game, whether the audience is cheering or booing, what the players are saying during a particular part of the game, and similar information. Module 310 uses image recognition, gesture recognition, and other currently known video processing techniques to extract and identify from video data obtained using one or more video cameras what happens in the game, the typical stance or movement of the players and their game context, the appearance and movement of the crowd, weather conditions, and similar information. Module 310 uses currently available statistical analysis techniques to extract and identify player statistics from the numerical data for players, games, sets of games, and environmental conditions. Player statistics include player statistics in correlation with other statistics and in relation to other players.
[0085] The gamer analytics module 350 analyzes data of gamers playing e-games, including one or more of video, audio, and statistical data of the e-games. Implementations of the module 350 analyze gamer data, as well as data that is not specific to a particular gamer, and data of combinations of two or more gamers.
[0086] To analyze the data, module 350 uses any currently known analysis technique. One implementation of module 350 uses noise level measurement, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify, from audio data obtained using one or more microphones, noise levels associated with a real or virtual crowd of an e-game, whether the crowd is cheering or booing, what a gamer is saying during a particular part of an e-game, and similar information. Another implementation of module 350 uses image recognition, gesture recognition, and other currently known video processing techniques to extract and identify, from video data obtained using one or more video cameras, what happens in an e-game, typical stances or movements of gamers and their game context, the appearance and movements of spectators, and similar information. Another implementation of module 350 uses currently available statistical analysis techniques to extract and identify gamer statistics from numerical data about gamers, e-games, and sets of e-games. A gamer's statistics also include correlations with other statistics and the gamer's statistics in relation to other gamers.
[0087] Module 310 represents the results of the real world activity data analysis as a multi-dimensional vector, where each dimension represents a result of the analysis. Module 350 represents the results of the gamer activity data analysis as a multi-dimensional vector.
[0088] The scenario similarity identification module 330 identifies real-world scenarios, represented by multi-dimensional vectors, that are within a threshold similarity from the analyzed data of real-world activities. The module 330 also identifies gamer scenarios, also represented by multi-dimensional vectors, that are within a threshold similarity from the analyzed data of gamer activity data. The module 330 identifies the real-world or gamer scenarios using any currently available technique, for example, data clustering techniques. One implementation of the module 330 determines the similarity using a cosine similarity calculation.
[0089] The scenario library module 320 persists the identified real-world and gamer scenarios in a scenario library for later reuse and further refinement.
[0090] The scenario application module 340 applies the real-world scenario to the game application by adjusting a portion of the physics engine of the game application, adjusting a set of player capability data of the game application, or adjusting an output of a user interface of the game application. The scenario application module 340 also applies the gamer scenario to the game application by adjusting an output of a user interface of the game application. The adjusted output is intended to further change the experience or emotion of the gamer using the game application.
[0091] Referring to Figure 4, this figure illustrates a block diagram of an example configuration for augmenting real-world activity simulation with real-world data of an activity, according to an example embodiment. In particular, Figure 4 provides further details of module 310 of Figure 3.
[0092] The audio analysis module 410 uses noise level measurements, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify from audio data obtained using one or more microphones the noise levels associated with the live crowd at the game, whether the crowd is cheering or booing, what the players are saying during specific parts of the game, and similar information. The video analysis module 420 uses image recognition, gesture recognition, and other currently known video processing techniques to extract and identify from video data obtained using one or more video cameras what happens in the game, the typical stance or movement of the players and their game context, the appearance and movement of the crowd, weather conditions, and similar information. The statistical analysis module 430 uses currently available statistical analysis techniques to extract and identify player statistics from the numerical data for players, games, sets of games, and environmental conditions. The player statistics include the player's statistics in correlation with other statistics and in relation to other players.
[0093] Referring to Figure 5, this figure illustrates a block diagram of an example configuration for augmenting real-world activity simulation with real-world data of an activity, according to an example embodiment. In particular, Figure 5 provides further details of module 320 of Figure 3.
[0094] The real-world scenario module 510 persists the identified real-world scenarios in a scenario library for later reuse and further tuning, and similarly, the gamer scenario module 520 persists the identified gamer scenarios in a scenario library for later reuse and further tuning.
[0095] Referring to Figure 6, this figure illustrates a block diagram of an example configuration for augmenting real-world activity simulation with real-world data of an activity, according to an example embodiment. In particular, Figure 6 provides further details of module 340 of Figure 3.
[0096] Specifically, the physics engine update module 610 applies a real-world scenario to the game application by adjusting a portion of the physics engine of the game application. The player capability update module 620 applies a real-world scenario to the game application by adjusting a set of player capability data of the game application. The gamer experience update module 630 adjusts the output of the user interface of the game application to change the experience or emotion of a gamer using the game application by applying a real-world or gamer scenario to the game application.
[0097] Referring to Figure 7, this figure illustrates a block diagram of an example configuration for augmenting real-world activity simulation with real-world data of an activity, according to an example embodiment. In particular, Figure 7 provides further details of module 350 of Figure 3.
[0098] The audio analysis module 710 uses noise level measurements, speech-to-text conversion, natural language text understanding, and other currently known audio processing techniques to extract and identify from audio data obtained using one or more microphones the noise levels associated with a gamer's audience, whether the audience is cheering or booing, what the gamer is saying during a particular part of the game, and similar information. The video analysis module 720 uses image recognition, gesture recognition, and other currently known video processing techniques to extract and identify from video data obtained using one or more video cameras what happens in an e-game, the typical stance or movement of a gamer and its e-game context, the appearance of the crowd, and similar information. The statistical analysis module 730 uses currently available statistical analysis techniques to extract and identify gamer statistics, including correlations with other statistics, and gamer statistics in relation to other gamers, from numerical data for a gamer, an e-game, or a set of e-games.
[0099] Referring to FIG. 8, this figure illustrates an example of augmenting real-world activity simulation with real-world data of the activity, according to an exemplary embodiment. This example can be performed using the application 300 of FIG. 3. The microphone 134 and the video camera 136 are the same as the microphone 134 and the video camera 136 of FIG. 1. The scenario similarity identification module 330 is the same as the scenario similarity identification module 330 of FIG. 3. The audio analysis module 410, the video analysis module 420, and the statistical analysis module 430 are the same as the audio analysis module 410, the video analysis module 420, and the statistical analysis module 430 of FIG. 4.
[0100] As shown, the application 300 collects data of the real world activity 810 using the microphone 134 and video camera 136. The data 820 is numerical data of the activity 810. The audio analysis module 410 uses noise level measurement, speech-to-text conversion, natural language text understanding, and other audio processing techniques currently known to extract and identify from the audio data of the activity 810 the noise levels associated with a live audience at the game, whether the audience is cheering or booing, what the players are saying during particular parts of the game, and similar information. The video analysis module 420 uses image recognition, gesture recognition, and other video processing techniques currently known to extract and identify from the video data of the activity 810 what happens in the game, the typical stances or movements of the players and their game context, the appearance and movements of the crowd, weather conditions, and similar information. The statistical analysis module 430 uses currently available statistical analysis techniques to extract and identify player statistics, correlations with other statistics, and player statistics in relation to other players from the data 820, as well as player, game, set of game, and environmental condition data. The results are passed to the scenario similarity identification module 330.
[0101] 9, which illustrates a continuation of the example of augmenting real-world activity simulation with real-world data of the activity, according to an exemplary embodiment. This example can be performed using the application 300 of FIG. 3. The scenario similarity identification module 330 is the same as the scenario similarity identification module 330 of FIG. 3. The physics engine update module 610, the player capability update module 620, and the gamer experience update module 630 are the same as the physics engine update module 610, the player capability update module 620, and the gamer experience update module 630 of FIG. 6.
[0102] As shown, based on the real world scenario identified by module 330, the physics engine update module 610 adjusts a portion of the physics engine of the game application to apply the scenario to the game application, resulting in a physics engine update 910. As shown, within the physics engine, the position of the simulated basketball hoop is lowered, thereby increasing the likelihood that the player's simulated shot will be successful, which corresponds to the effect of increased performance in the scenario. Similarly, the player performance update module 620 adjusts a set of player performance data for the game application to apply the scenario to the game application, resulting in player performance data 920. The gamer experience update module 630 adjusts an output of the user interface of the game application to apply the scenario to the game application, resulting in a gamer effect 930 that changes the experience or emotion of the gamer using the game application by shaking the gamer's game controller.
[0103] Referring to FIG. 10, this figure illustrates a continuation of the example of augmenting real-world activity simulation with real-world data of the activity, according to an exemplary embodiment. This example can be performed using the application 300 of FIG. 3. The microphone 134 and the video camera 136 are the same as the microphone 134 and the video camera 136 of FIG. 1. The scenario similarity identification module 330 is the same as the scenario similarity identification module 330 of FIG. 3. The gamer experience update module 630 is the same as the gamer experience update module 630 of FIG. 6. The audio analysis module 710, the video analysis module 720, and the statistical analysis module 730 are the same as the audio analysis module 710, the video analysis module 720, and the statistical analysis module 730 of FIG. 7.
[0104] As shown, the application 300 uses the microphone 134 and video camera 136 to collect data of the gamer activity 1010. The data 1020 is numerical data of the activity 1010. The audio analysis module 710 uses noise level measurement, speech-to-text conversion, natural language text understanding, and other audio processing techniques currently known to extract and identify from the audio data of the activity 1010 the noise levels associated with the crowd in the e-game, whether the crowd is cheering or booing, what the gamer is saying during a particular part of the e-game, and similar information. The video analysis module 720 uses image recognition, gesture recognition, and other video processing techniques currently known to extract and identify from the video data of the activity 1010 what happens in the e-game, the typical stance or movement of the gamer and its e-game context, the appearance and movement of the crowd, and similar information. The statistical analysis module 730 uses currently available statistical analysis techniques to extract and identify gamer statistics, correlations with other statistics, and gamer statistics in relation to other gamers from the data 1020, as well as data on gamers, e-games, and sets of e-games. The results are passed to the scenario similarity identification module 330. Based on the gamer scenarios identified by the module 330, the module 630 adjusts the output of the user interface of the game application to apply the scenario to the game application, resulting in a gamer effect 1030 that changes the experience or emotion of the gamer using the game application by shaking the gamer's game controller.
[0105] Referring to Figure 11, a flowchart of an example process for augmenting real-world activity simulation with real-world data of an activity is shown, in accordance with an example embodiment. The process 1100 can be implemented in the application 300 of Figure 3.
[0106] In block 1102, the application analyzes video, audio, and statistical data of the real-world activity to identify a real-world scenario that is within a threshold similarity from the analyzed data of the real-world activity. In block 1104, the application applies the real-world scenario to a game application that uses the real-world activity as a data source by adjusting a portion of the physics engine of the game application. In block 1106, the application applies the real-world scenario to the game application by adjusting a set of player performance data of the game application. In block 1108, the application applies the real-world scenario to the game application by adjusting an output of a user interface of the game application. In block 1110, the application analyzes video, audio, and statistical data of a gamer using the game application to identify a gamer scenario that is within a threshold similarity from the analyzed data of the gamer. In block 1112, the application changes the emotion of the gamer using the game application by adjusting an output of a user interface of the game application to apply the gamer scenario to the game application. The application then terminates.
[0107] 12, an exemplary cloud computing environment 50 is shown. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or cell phone 54A, a desktop computer 54B, a laptop computer 54C, or an automobile computer system 54N, or combinations thereof, may communicate. The nodes 10 may communicate with each other. They may be physically or virtually grouped (not shown), for example, in one or more networks, such as the private, community, public, or hybrid clouds described above, or combinations thereof. This enables the cloud computing environment 50 to provide infrastructure-as-a-service, platform-as-a-service, and / or software-as-a-service services without the need for cloud consumers to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N shown are intended to be exemplary only, and that the computing node 10 and cloud computing environment 50 can communicate with any type of computerized device via any type of network and / or network addressable connection (e.g., using a web browser).
[0108] 13, there is shown a set of functional abstraction layers provided by cloud computing environment 50 (FIG. 12). It should be understood in advance that the illustrated components, layers, and functions are intended to be exemplary only, and that embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0109] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframes 61, RISC (reduced instruction set computer) architecture based servers 62, servers 63, blade servers 64, storage devices 65, and networks and networking components 66. In some embodiments, the software components include network application server software 67 and database software 68.
[0110] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.
[0111] In one example, the management layer 80 may provide the following functions: Resource provisioning 81 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 provides cost tracking as resources are utilized within the cloud computing environment and accounting or billing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification of cloud consumers and tasks as well as protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 provides allocation and management of cloud computing resources such that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides advance arrangement and procurement of cloud computing resources anticipated to be required in the future according to SLAs.
[0112] The Workload Layer 90 provides examples of functionality for which a cloud computing environment may be utilized. Examples of workloads and functions that may be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instructional delivery 93, data analytics processing 94, transaction processing 95, and application selection based on cumulative vulnerability risk assessment 96.
[0113] Thus, the illustrative embodiments provide a computer-implemented method, system or apparatus, and computer program product for real-world activity simulation augmentation with real-world data of the activity, and other related features, functions, or operations. When an embodiment, or portions thereof, are described with respect to a type of device, the computer-implemented method, system or apparatus, computer program product, or portions thereof, are adapted or configured for use with the appropriate and equivalent representation of that type of device.
[0114] Where an embodiment is described as being implemented in an application, delivery of the application in a Software-as-a-Service (SaaS) model is contemplated within the scope of the exemplary embodiment. In a SaaS model, functionality of an application implementing an embodiment is provided to a user by running the application in a cloud infrastructure. A user may access the application using a variety of client devices through a thin-client interface, such as a web browser (e.g., web-based email), or other light-client application. A user does not manage or control the underlying cloud infrastructure, including the cloud infrastructure's network, servers, operating systems, or storage. In some cases, a user may not even manage or control the functionality of a SaaS application. In some other cases, a SaaS implementation of an application may allow possible exceptions to limited user-specific application configuration settings.
[0115] The present invention may be a system, method, or computer program product, or combination thereof, at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0116] A computer readable storage medium may be any tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or groove ridge structures having instructions recorded thereon, and any suitable combination thereof. A computer-readable storage medium, as used herein, should not be construed to be a transitory signal per se, such as, for example, radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over a wire.
[0117] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to the respective computing / processing device or to an external computer or storage device over a network, such as, for example, the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface of each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0118] The computer readable program instructions for carrying out the operations of the present invention may be source or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or object oriented programming languages such as Smalltalk®, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or wide area network (WAN), or a connection may be made to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing state information of the computer readable program instructions to execute the computer readable program instructions to perform aspects of the present invention.
[0119] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0120] These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, generate means for implementing the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium, instructing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the computer-readable storage medium on which the instructions are stored constitutes an article of manufacture including instructions that implement aspects of the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.
[0121] Furthermore, the computer-readable program instructions may be loaded into a computer, other programmable data processing apparatus, or other device to generate a computer-implemented process and cause the computer, other programmable apparatus, or other device to perform a series of operational steps, such that the instructions, which execute on the computer, other programmable apparatus, or other device, implement the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.
[0122] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or part of instructions that includes one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions described in the blocks may occur out of the order shown. For example, depending on the functionality involved, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may possibly be executed in the reverse order. It will also be noted that each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.
Claims
1. 1. A computer-implemented method comprising: analyzing video, audio, and statistical data of real-world activities to identify real-world scenarios within a threshold similarity from the analyzed video, audio, and statistical data of the real-world activities; applying the real-world scenario to a gaming application that uses the real-world activity as a data source, the applying including adjusting a portion of a physics engine, the physics engine simulating physical phenomena depicted in the gaming application; and A computer-implemented method comprising: A computer-implemented method, wherein applying the real-world scenario to the game application further includes adjusting a set of player performance data of the game application, the set of player performance data simulating within the game application a player's ability to participate in the real-world activity.
2. The computer-implemented method of claim 1 , wherein the video, audio, and statistical data comprises data of players participating in the real-world activity.
3. The computer-implemented method of claim 1 , wherein the video, audio, and statistical data includes data on environmental factors associated with the real-world activity.
4. 2. The computer-implemented method of claim 1, wherein applying the real-world scenario to the gaming application further comprises adjusting an output of a user interface of the gaming application, the adjusted output intended to change a gamer's experience using the gaming application.
5. analyzing video, audio, and statistical data of gamers using the gaming application to identify gamer scenarios that are within a threshold similarity from the analyzed video, audio, and statistical data of the gamers; applying the gamer scenario to the game application, the applying including adjusting an output of a user interface of the game application, the adjusted output being intended to change an emotion of the gamer; The computer-implemented method of claim 1 , further comprising:
6. 1. A computer program for augmenting a real-world activity simulation with real-world data of a real-world activity, comprising: The processor: analyzing video, audio, and statistical data of real-world activities to identify real-world scenarios within a threshold similarity from the analyzed video, audio, and statistical data of the real-world activities; applying the real-world scenario to a gaming application that uses the real-world activity as a data source, the applying including adjusting a portion of a physics engine, the physics engine simulating physical phenomena depicted in the gaming application; and Run the command, 22. The computer program product of claim 21, wherein applying the real-world scenario to the game application further comprises adjusting a set of player performance data for the game application, the set of player performance data simulating within the game application a player's ability to participate in the real-world activity.
7. 7. The computer program product of claim 6, wherein the computer program product is stored on a storage medium of a local data processing system, and the stored computer program product is transferred over a network from a remote data processing system.
8. 7. The computer program of claim 6, wherein the computer program is stored in a storage medium of a server data processing system, and the stored computer program is downloaded to a remote data processing system via a network and used in a computer-readable storage device of the remote data processing system.
9. The computer program of claim 6 , wherein the computer program is provided as a service in a cloud environment.
10. 1. A computer system including a processor, a computer readable memory, a computer readable storage device, and program instructions, the program instructions being stored in the storage device and executed by the processor via the memory, the stored program instructions comprising: program instructions for analyzing video, audio, and statistical data of real-world activities to identify real-world scenarios that are within a threshold similarity from the analyzed video, audio, and statistical data of the real-world activities; program instructions for applying the real-world scenario to a gaming application that uses the real-world activity as a data source, the applying including adjusting a portion of a physics engine, the physics engine simulating physical phenomena depicted in the gaming application; Including, A computer system, wherein applying the real-world scenario to the game application further includes adjusting a set of player performance data of the game application, the set of player performance data simulating within the game application a player's ability to participate in the real-world activity.
Citation Information
Patent Citations
Whole-body simulation game equipment
CN102755745A
Method for implementing online game simulating reality
CN104536763A
Application management method and mobile terminal
CN109976825A
Use of 3D environmental models in gameplay
JP2014513822A