METHOD AND SYSTEM FOR AUTONOMOUS CONTENT OPTIMIZATION IN GAMES AND GRAPHICAL INTERACTIVE APPLICATIONS
There is described herein a system for autonomous content optimization for the adaptation of graphical interactive content on hardware and devices, utilizing behavioral and performance data across a network to optimize or improve quality and performance on the hardware and devices. In accordance with an embodiment, the ACO system can be configured to autonomously take content for a specific software application and make it perform optimally across a plurality of device types and operating systems and settings.
1 ) A system comprising: a user device communicatively coupled to a configuration server and a database, wherein the user device is configured to perform the following operations:
executing an application;
executing a client module to monitor performance of the user device while executing the application;
based on the client module detecting a reduction in the performance, sending a request over a network to the configuration server, the request requesting configuration data for the user device and the application;
based on the client module receiving the configuration data over the network, modifying properties within the application based on the configuration data to counteract the reduction in the performance; and
downloading virtual asset content from the database in real-time based on the configuration data to counteract the reduction in the performance.
2 ) The system of claim 1 , the operations further comprising:
recording data that describes the application, the device, and the reduction in the performance, and sending the data over a network to the database.
3 ) The system of claim 2 , wherein the configuration data is generated by a machine-learned model configured to determine parameters for the application to counteract the reduction, and configured to determine virtual asset content for the application to counteract the reduction.
4 ) The system of claim 1 , wherein the request includes application data specifying the state of the application and device data specifying an identifier of the device and a state of the device.
5 ) The system of claim 1 , wherein the modifying of the properties includes at least one of: specifying the quality of virtual asset content to be used in the application, modifying graphical settings, or modifying rendering options within the application.
6 ) A method comprising:
by a user device communicatively coupled to a configuration server and a database:
executing an application;
executing a client module to monitor performance of the user device while executing the application;
based on the client module detecting a reduction in the performance, sending a request over a network to the configuration server, the request requesting configuration data for the user device and the application;
based on the client module receiving the configuration data over the network, modifying properties within the application based on the configuration data to counteract the reduction in the performance; and
downloading virtual asset content from the database in real-time based on the configuration data to counteract the reduction in the performance.
7 ) The method of claim 6 , the operations further comprising:
recording data that describes the application, the device, and the reduction in the performance, and sending the data over a network to the database.
8 ) The method of claim 7 , wherein the configuration data is generated by a machine-learned model configured to determine parameters for the application to counteract the reduction, and configured to determine virtual asset content for the application to counteract the reduction.
9 ) The method of claim 6 , wherein the request includes application data specifying the state of the application and device data specifying an identifier of the device and a state of the device.
10 ) The method of claim 6 , wherein the modifying of the properties includes at least one of: specifying the quality of virtual asset content to be used in the application, modifying graphical settings, or modifying rendering options within the application.
11 ) A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine communicatively coupled to a configuration server and a database, cause the machine to perform operations comprising:
executing an application;
executing a client module to monitor performance of the machine while executing the application;
based on the client module detecting a reduction in the performance, sending a request over a network to the configuration server, the request requesting configuration data for the machine and the application;
based on the client module receiving the configuration data over the network, modifying properties within the application based on the configuration data to counteract the reduction in the performance; and
downloading virtual asset content from the database in real-time based on the configuration data to counteract the reduction in the performance.
12 ) The non-transitory machine-readable storage medium of claim 11 , the operations further comprising:
recording data that describes the application, the device, and the reduction in the performance, and sending the data over a network to the database.
13 ) The non-transitory machine-readable storage medium of claim 12 , wherein the configuration data is generated by a machine-learned model configured to determine parameters for the application to counteract the reduction, and configured to determine virtual asset content for the application to counteract the reduction.
14 ) The non-transitory machine-readable storage medium of claim 11 , wherein the request includes application data specifying the state of the application and device data specifying an identifier of the device and a state of the device.
15 ) The non-transitory machine-readable storage medium of claim 11 , wherein the modifying of the properties includes at least one of: specifying the quality of virtual asset content to be used in the application, modifying graphical settings, or modifying rendering options within the application.