Modifying a virtual environment
By dynamically adjusting virtual environment resources based on player data and interactions, the method optimizes resource allocation and gameplay, addressing the high computational demands of modern video games.
Patent Information
- Application Number
- GB2024012543
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-27
- Publication Date
- 2026-03-04
AI Technical Summary
Modern video games require significant processing resources due to high-resolution rendering, advanced lighting effects, and increased user interaction, leading to a need for more powerful hardware and internet connections, while developers seek ways to reduce these requirements without compromising the user experience.
A method to modify virtual environments by processing data from user electronic devices to optimize resource allocation based on player density, asset interaction, and in-game statistics, using artificial neural networks to dynamically adjust graphical and audio resources and game states.
This approach enhances resource distribution within virtual environments, providing a more immersive experience by allocating resources where they are needed most, reducing computational demands in low-demand areas, and optimizing gameplay.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD The present specification relates to the modification of a virtual environment based on metrics obtained from a user electronic device. BACKGROUND Modern video games are becoming increasingly resource intensive. The virtual environments within the video games are now rendered at higher resolutions, and performance modes offer higher frame rates. Even regular objects within the virtual environments are rendered with higher level textures and a greater number of polygons. Furthermore, advanced lighting effects such as ray tracing add to the ever-growing need for more powerful processing hardware and / or high-speed internet connections. Video game developers are constantly on the lookout for innovative ways of reducing the processing requirements of games whilst also providing the best possible user experience. Aspects and embodiments were conceived with the foregoing in mind. SUMMARY Aspects of the present disclosure are set out in the accompanying independent and dependent claims. Combinations of features from the dependent claims may be combined with features of the independent claims as appropriate and not merely as explicitly set out in the claims. Aspects may relate to virtual environments. A virtual environment may be described as an environment provided using an application or other piece of software, such as, for example, a computer game, for user interaction within the environment. According to a first aspect of the present disclosure, there is provided a method of modifying a virtual environment. The method may be implemented by a processing resource. The processing resource may comprise any entity which can provide processing capacity. The processing resource may be software, hardware or cloud implemented. The method may comprise receiving device data from at least one user electronic device. The user electronic device may be any computing device which can record data relating to the virtual environment and / or the user’s interaction with that environment. The device data may comprise information relating to the virtual environment. The method may further comprise processing the device data to obtain the information relating to the virtual environment. The obtained information may comprise three-dimensional (3D) scene data, resource allocation data, and / or user engagement data. The 3D scene data may comprise data that defines a 3D scene within the virtual environment. The resource allocation data may comprise data relating to the distribution of graphical resources and / or audio resources within the virtual environment. The user engagement data may comprise statistical data which is aggregated whilst a user of the user electronic device engages with the virtual environment The method may further comprise modifying the virtual environment based on the obtained information. Aspects in accordance with the first aspect enable a virtual environment to be modified and / or configured based on the received data related to the virtual environment. This means that resources can be allocated to where they are likely to be required, i.e. more processing resources allocated to high demand areas of a virtual environment and less resources allocated to low demand areas of a virtual environment. Optionally, the 3D scene data may comprise positional data and asset data. The positional data may comprise location information relating to playable characters and other assets within the 3D scene. Other assets may include non-player characters (NPCs). The asset data may comprise relevant information relating to the assets such as interaction information which indicates whether the asset has been interacted with by another asset such as a playable character within the 3D scene. An asset may be understood to refer to objects within a virtual environment which may attract user interaction such as, for example, animations, sounds, illustrations and textures, 3D models, buildings, and vehicles. Optionally, the resource allocation data may comprise data relating to the resources available within the virtual environment such as graphical resources and audio resources. Optionally, the user engagement data may comprise statistical data aggregated whilst a user engages with the virtual world. The statistical data may be determined using any suitable statistical approach where relevant input data is determined from the user engagement data and statistical analysis techniques are applied to determine the aggregated data. The method may further comprise modifying the virtual environment based on the obtained information. Optionally, modifying the virtual environment may comprise determining whether a number of playable characters within a location within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold. Exceeding the upper threshold may be indicative of a higher volume of players being present within the given location, and falling below the lower threshold may be indicative of fewer players being present within the given location. Upon determining that the upper or lower threshold has been exceeded / fallen below, the available graphical resources and / or audio resources at the location when the upper threshold is exceeded may be increased, and the available graphical resources and / or audio resources at the location when the number of playable characters falls below the lower threshold may be decreased. Optionally, the audio resources in the given location may be combined to provide a single averaged audio resource. This has the effect of more efficiently distributing the resources within the virtual environment as locations within the virtual environment identified to have lower player density can be made to utilise less resources. This may reduce the computation required to render these locations within the virtual environment - computation which can be utilised to increase the resources in areas with higher player density. Optionally, modifying the virtual environment may comprise, determining whether number of asset interactions of a particular asset within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold. Exceeding the upper threshold may be indicative of a higher volume of players interacting with the given asset, and falling below the lower threshold may be indicative of fewer players interacting with the given asset. Upon determining that the upper or lower threshold has been exceeded / fallen below, the available resources for the asset when the upper threshold is exceeded may be increased, and the available resources for the asset when the number of interactions falls below the lower threshold may be decreased. This has the effect of more efficiently distributing the resources within the virtual environment as computation can be more efficiently utilised to render assets which are determined to have more interactions by players. Optionally, modifying the virtual environment may comprise altering the game state of the virtual environment. The virtual environment may be a video game, and the game state may be a pre-defined set of criteria on which the game operates. An example game state may be the difficulty of the game, and altering the game state may be increasing or lowering the difficulty. The game state may alternatively or additionally comprise the introduction of NPCs and altering the game state may comprise removing from or adding NPCs to the virtual environment This has the effect of creating a more immersive experience for the player. Optionally, the received device data may be provided as an input to train an artificial neural network (ANN). The ANN may determine a distribution of resources within the virtual environment in real time. ANNs are otherwise known as connectionist systems which are computing systems which are vaguely inspired by biological neural networks. Such systems “learn” tasks by considering examples, generally without task-specific programming. They do this without any prior knowledge about the task or tasks, and instead, they evolve their own set of relevant characteristics from the learning / training material that they process. ANNs are considered nonlinear statistical data modelling tools where the complex relationship between inputs and outputs are modelled, or patterns are found. ANN may be hardware (where neurons are represented by physical components) or software-based (computer models) and can use a variety of topologies and learning algorithms. It will be appreciated that other feedforward models (e.g., a trained regression tree model) may also be applicable for predicting / determining resource allocation based on received device data related to the virtual environment. This has the effect of providing a more reliable experience for the player as the ANN would be able to determine when and where the player density in given locations would exceed / fall below given thresholds and automatically adjust the distribution of resources seamlessly. According to a second aspect of the present disclosure, there is provided a sender device comprising a processor, and memory including executable instructions that, as a result of execution by the processor, cause the sender electronic device to perform the computer-implemented method of any embodiment or example of the first aspect of the disclosure. According to a third aspect of the present disclosure, there is provided non-transitory computer readable medium containing program instructions for causing a computer to perform the computer-implemented method of any example or embodiment of the second aspect of this disclosure. BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of this disclosure will be described hereinafter, by way of example only, with reference to the accompanying drawings in which like reference signs relate to like elements and in which: Figure 1A is a block diagram illustrating a system according to an embodiment of this disclosure; Figure 1B is a block diagram representing device data according to an embodiment of this disclosure; Figure 2 is a block diagram illustrating a user electronic device or a sender device according to an embodiment of this disclosure; Figure 3 is a flowchart illustrating a method of modifying a virtual environment according to an embodiment of this disclosure; Figure 4 is a flowchart illustrating method of modifying a virtual environment based on player density according to an embodiment of this disclosure; Figures 5 shows a 3D scene comprising a plurality of assets and varying player density; Figure 6 is a flowchart illustrating a method of modifying a virtual environment based on asset interactions according to an embodiment of this disclosure; Figure 7 shows a 3D scene showing varying asset interactions; Figure 8 is a flowchart illustrating a method modifying a virtual environment based on in-game statistics according to an embodiment of this disclosure; and Figure 9 shows a 3D scene depicting a death count in-game statistic. DETAILED DESCRIPTION Embodiments of this disclosure are described in the following with reference to the accompanying drawings. Figure 1A is a simplified representation of a system 10 according to an embodiment of this disclosure. A sender 12 is configured to communicate with a user electronic device 13. Although Figure 1A shows one user electronic device 13, any number of user electronic devices may be in communication with the sender 12. The sender 12 is also an electronic device. The term computing device may be used interchangeably with electronic device in the present disclosure. The user electronic device 13 and the sender 12 may be any type of computing device, including but not limited to, a PC, laptop, tablet computer, mobile phone, television or smart TV, smart watch, and / or gaming console. The sender 12 and the user electronic device 13 may comprise a plurality of electronic devices operably in communication with each other. The sender 12 is configured to communicate with the user electronic device via any suitable communication channel or protocol. For example, the sender 12 may communicate with the user electronic device 13 via Wi-Fi®, wired or wireless internet connection, NFC, Bluetooth®, etc. A source 11 is also in operable communication with the sender 12 via any suitable communication channel. The source 11 is configured to provide an input content stream to the sender 12. In an embodiment, the source 11 may be the sender 12. In an embodiment, at least one of the tracks may be provided by the sender 12. Figure 2 illustrates a block diagram of one example implementation of a computing device 200 that may form part of the sender 12 or the user electronic device 13. The computing device 200 is associated with executable instructions for causing the computing device 200 to perform any one or more of the methodologies discussed herein. In alternative implementations, the computing device 200 may be connected (e.g., networked) to other machines in a Local Area Network (LAN), an intranet, an extranet, or the Internet. The computing device may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The computing device may be a personal computer (PC), a tablet computer, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single computing device is illustrated, the term “computing device” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. The example computing device 200 includes a processing device 201, a memory device 202, and a secondary memory (e.g., a data storage device 203), which communicate with each other via a bus 20. The memory device may be read-only memory (ROM), flash memory, dynamic random-access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), static random-access memory (SRAM), etc. Processing device 201 represents one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More particularly, the processing device 201 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device 201 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processing device 201 is configured to execute the processing logic (instructions 203b) for performing the operations and steps discussed herein. The computing device 200 may further include a network interface device 204. The computing device 200 also may include a video display unit 205 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), and an audio device 208 (e.g., a speaker). The computing device 200 may further include a data input 206 and a data output 207 to receive and send data to and from the computing device 200. The data storage device 203 may include one or more machine-readable storage media (or more specifically one or more non-transitory computer-readable storage media) 203a on which is stored one or more sets of instructions 203b embodying any one or more of the methodologies or functions described herein. The instructions 203b may also reside, completely or at least partially, within the memory device 202 and / or within the processing device 201 during execution thereof by the computer system 200, the memory device 202 and the processing device 201 also constituting computer-readable storage media. The computing device 200 is not limited to the above arrangement. Other arrangements may be used. For example, the computing device may be a distributed computing system. The various methods described above may be implemented by a computer program. The computer program may include computer code arranged to instruct a computer to perform the functions of one or more of the various methods described above. The computer program and / or the code for performing such methods may be provided to an apparatus, such as a computer, on one or more computer readable media or, more generally, a computer program product. The computer readable media may be transitory or non-transitory. The one or more computer readable media could be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium for data transmission, for example for downloading the code over the Internet. Alternatively, the one or more computer readable media could take the form of one or more physical computer readable media such as semiconductor or solid-state memory, magnetic tape, a removable computer diskette, a random-access memory (RAM), a read-only memory (ROM), a rigid magnetic disc, and an optical disk, such as a CD-ROM, CD-R / Wor DVD. In an implementation, the modules, components, and other features described herein can be implemented as discrete components or integrated in the functionality of hardware components such as ASICS, FPGAs, DSPs, or similar devices. A “hardware component” is a tangible (e.g., non-transitory) physical component (e.g., a set of one or more processors) capable of performing certain operations and may be configured or arranged in a certain physical manner. A hardware component may include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component may be or include a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware component may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. Accordingly, the phrase “hardware component” should be understood to encompass a tangible entity that may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. In addition, the modules and components can be implemented as firmware or functional circuitry within hardware devices. Further, the modules and components can be implemented in any combination of hardware devices and software components, or only in software (e.g., code stored or otherwise embodied in a machine-readable medium or in a transmission medium). Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “providing”, “calculating”, “computing,” “identifying”, “detecting ”, “establishing”, “training”, “determining”, “storing”, “generating” / ’checking”, “obtaining” or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices. Figure 1B is a simplified representation of device data 100 generated by the user electronic device 13. The device data 100 comprises three-dimensional (3D) scene data 110, resource allocation data 120, and user engagement data 130. The 3D scene data 110 comprises data defining a 3D scene within the virtual environment. The 3D scene comprises a plurality of assets such as a playable character and background assets such as trees and buildings. In this embodiment, the 3D scene data 110 comprises positional data 111 which comprises location information of the playable character(s) and other assets within the 3D scene, and asset data 112 which comprises other relevant information relating to the assets such as interaction information which indicates whether the asset has been interacted with by another asset such as a playable character within the 3D scene. The 3D scene data is not limited to positional data 111 and asset data 112. Other types of data such as interaction data between one or more playable characters may be included. The resource allocation data 120 comprises data relating to the resources available within the virtual environment and the resources consumed by aspects of the virtual environment. In this embodiment, the resource allocation data 120 comprises graphical resources 121 and audio resources 122. The graphical resources 121 include resources such as skins and textures for assets and other resources such as lighting effects (e.g., ray tracing) within the virtual environment. The audio resources 122 include audio within the virtual environment such as individual audio files for different audio sources (e.g., footsteps and trees rustling) or averaged audio files comprising multiple sound sources combined into one audio file. The audio resources 122 further include positional data for the audio files within a 3D scene indicating a location of origin of the sound source. The resource allocation data 120 is not limited to graphical resources 121 and audio resources 122. Other types of data such as processing requirements for various audio / graphical files may be included. The user engagement data 130 comprises statistical data aggregated whilst a user engages with the virtual world. In this embodiment, the in-game statistics which are included in the user engagement data 130 are player death count 131 and player kill count 132. The in-game statistics within the user engagement data 130 is not limited to player death count 131 and player kill count 132. Other types of in-game statistics such as playable and nonplayer character attributes may be included. The device data is not limited comprising 3D scene data 110, resource allocation data 120, and user engagement data 130. Other types of data may be included within the device data such as telemetry data indicative of device health. A method 300 of modifying a virtual environment according to an embodiment of this disclosure is illustrated in the flowchart in Figure 3. At step 310, the method 300 includes receiving device data from at least one user electronic device. The sender 12 receives the device data 100 from a user electronic device 13. In this embodiment, the sender 12 receives the device data 100 via any wired or wireless communication channel. In an alternative embodiment, the sender 12 receives device data 100 from a plurality of user electronic devices. The device data 100 is not limited to being received by the sender 12. The device data 100 may be received by any compatible device capable of processing the device data 100 to obtain information about the virtual environment (discussed below). Furthermore, the device data 100 is not limited to being sent by the user electronic device 13 (or plurality of user electronic devices). For example, the device data 100 may be sent from an external device which does not locally render the virtual environment. At step 320, the method 300 includes processing the device data to obtain information relating to the virtual environment. In this embodiment, the sender 12 processes the device data 100 to obtain the 3D scene data 110, resource allocation data 120, and user engagement data 130. This can be implemented using standard techniques. In an example, the sender 12 may utilise distributed computer techniques such as the use of Conflict-Free Replicated Data Type (CRDT) as the device data type. By processing the device data 100, the sender 12 obtains data related to the 3D scene as defined by the virtual environment, particularly the assets within the 3D scene. Furthermore, the sender 12 also obtains data related to the allocation of graphical and / or audio resources within the virtual environment. Additionally, the sender 12 obtains in-game statistical data from the device data 100. At step 330, the method 300 includes modifying the virtual environment based on the obtained information. Based on the information about the virtual environment obtained by processing the device data, the sender 12 is able to make decisions about modifying the virtual environment. Figures 4 and 6 show alternative methods 400 and 600 of modifying the virtual environment in accordance with step 330 of method 300. A method 400 of modifying a virtual environment based on player density according to an embodiment of this disclosure is illustrated in the flowchart in Figure 4. Further reference is made to Figure 5 which shows an example of a 3D scene as defined by the virtual environment. The example is for illustration of the embodiment only and is not intended to be limiting. The 3D scene in Figure 5 is part of a massively multiplayer online (MMO) game in which a plurality of users are able to occupy the 3D scene with their own playable characters. The 3D scene includes two main locations. A first location 510 is densely populated, thus comprising a plurality of playable characters 112a and a few places of interest such as large explorable buildings and a statue 112b which can be interacted with. A second location 520 comprises a small camp located in the middle of a forest and a single playable character 112a within a region of the camp. At step 410, the method 400 includes determining whether a number of playable characters within a location within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold. The sender 12, using the device data 100, determines that the location 510 comprises a plurality of playable characters 112a, and that the number of playable characters 112a at location 510 exceeds an upper threshold number of playable characters 112a. The sender 12 also determines that the location 520 comprises a single playable character 112a and as such determines that a number of playable characters 112a at location 520 falls below a lower threshold number of playable characters 112a. In virtual environments with linear gameplay where the aim is to get through the level and corresponding area quickly, the developers may determine the upper and lower threshold based on their own playtesting. The time it takes for a tester to progress through each area of the virtual environment may be noted and saved as device data 100. In virtual environments where there is no linear progression but rather a free roaming environment, the user engagement in various areas of the virtual environment may be recorded over a given period of time. Average values of the number of players in a given area may then be determined and subsequently be used to determine the upper and lower thresholds. In an example, the sender 12 may determine the thresholds in real time by monitoring gameplay of one or more players over a period of time and setting the thresholds based on statistical analysis of the traffic in the location (e.g. when the number of players exceeds a certain standard deviation around the mean traffic in the location the threshold may be increased, which means the threshold is more reliable as an indicator or resource allocation). This should not be read as a limitation on the statistical assumptions around the traffic in any location in the game environment. At step 420, the method 400 includes increasing the available graphical resources and / or audio resources at the location when the upper threshold is exceeded, and at step 430 the method 400 includes decreasing the available graphical resources and / or audio resources at the location when the number of playable characters falls below the lower threshold. This is advantageous because the sender is able to distribute the resources within the virtual environment to areas where players are likely to spend the most amount of time, and thus will be paying more attention to detail. Once the sender 12 determines that the number of playable characters 112a within the location 510 of the 3D scene exceeds the upper threshold, the sender 12 increasing the number of available graphical 121 and / or audio resources 122 for this location. For example, upon determining that the location 510 is densely populated, the sender 12 may modify the location 510 so that the buildings and surrounding areas are rendered with higher resolution textures. The sender 12 may also utilise better lighting effects and, for example, may enable ray tracing within the location 510. The sender may also modify the location 510 such that a greater number of audio sources 122 are used to with various points of origin such that the player is given a more immersive experience. Once the sender 12 determines that the number of playable characters 112a within the location 520 of the 3D scene falls below a lower threshold, the sender 12 decreases the number of available graphical 121 and / or audio resources 122 for this location. For example, lower resolution textures may be utilised. In this embodiment, upon determining that the number of playable characters 112a within the location 520 of the 3D scene falls below a lower threshold, the sender 12 averages all the audio resources 122 at the location 510 to produce a single audio resource 122 with all the sound sources at the location 520. Each player in an area of the virtual environment may have a slightly different audio experience based upon the distance they are from each object emitting noise and on the position of their character in relation to the source of the noise. In an embodiment, to save on computing resources, rather than give each player entirely unique audio, in an area of the environment where it is determined that the upper threshold has been exceeded, the sender 12 serves each of the players one of a plurality of audio renditions based on the player location. Within each area of the virtual environment, for each audio source that a group of players can hear, the loudness of the audio source may be set to be the average of the volumes heard by all of the players in that area. Once the audio sources are averaged, the sender 12 processes the audio sources according to player's orientation relative to the source of the audio. Consider an example environment whereby the audio heard by a player in a virtual environment is changed whenever a playable character's head is turned just a fraction. In this example, the audio would typically be changed to represent the character's new orientation in relation to each audio source for the most realistic experience. However, this would typically require significant resources to process. In this embodiment, the sender 12 "snaps" the players orientation to points of a compass (for example 8 points). If the character is facing North-West of an audio source, they hear the averaged audio rendition that represents being North-West of that audio source rather than a point on a compass with 128 points or even more. In a further embodiment, where the audio resources 122 include ray-traced audio, the sender 12 may adjust the number of reflections, maximum ray path distance, and number of audio sources to be considered of the ray-traced audio depending on whether the upper or thresholds have been met. The sender 12 may also switch the audio resources to a non-ray traced audio rendering method in cases where the resource requirement is to be reduced. In an embodiment, the sender 12 decreases the available graphical resources and / or audio resources at the location when the upper threshold is exceeded and increases the available graphical resources and / or audio resources at the location when the number of playable characters falls below the lower threshold. This is advantageous because the sender is able to distribute the resources within the virtual environment to focus on reducing the computational requirements when the player density is increased. The present disclosure is not limited to an MMO game. In an alternative embodiment, the 3D scene of figure 5 is part of a single player game. The sender 12 receives device data 100 from a plurality of user electronic device 13 and using the positional data 111 the sender determines that a higher number of players spend more time in location 510 compared to location 520. Therefore, applying the method 400 in this embodiment, the sender determines that the number of playable characters 112a within the location 510 of the 3D scene exceeds the upper threshold, and that the number of playable characters 112a within the location 520 of the 3D scene falls below a lower threshold. A method 600 of modifying a virtual environment based on asset interactions according to an embodiment of this disclosure is illustrated in the flowchart in Figure 6. Further reference is made to Figure 7 which shows a 3D scene as defined by the virtual environment. The 3D scene in Figure 7 comprises the statue 112b and other assets (triangle 112c, rectangle 112d, circle 112e, and arrow 112f) which can also be interacted with by playable characters. The playable characters 112a are shown to be interacting with one or more of the assets 112b - 112f. The playable characters 112a may be all part of the same instance of the 3D scene (as in a MMO game) or in separate instance (as in a single player game played by a plurality of players on their respective user electronic devices). At step 610, the method 600 comprises determining whether a number of asset interactions of a particular asset within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold. In this embodiment, the upper threshold is three interactions, and the lower threshold is two interactions, however, the upper and lower threshold number of interactions may be any number of interactions based on the virtual environment. That is to say, if an asset is, for example, a vehicle or a statue (the statue 112b for example), and the number of interactions with that vehicle is above an upper threshold then the graphical resources provided for rendering the vehicle in the virtual environment may be increased to make it more realistic. However, a tree which is next to the vehicle which does not attract the same number of interactions may be allocated a reduced amount of graphical resources as a less realistic rendering is likely to suffice. The sender 12, using the device data 100, determines that the statue 112b has had the most interactions by playable characters 112a, thus exceeding the upper threshold of three interactions. Similarly, the sender 12 also determines that, although not as high as the number of interactions as the statue 112b, the number of interactions of the arrow 112f still exceeds the threshold. The sender also determines that the triangle 112c, rectangle 112d, and circle 112e all fall below the lower threshold number of interactions of two. At step 620, method 600 includes increasing the available resources for the asset when the upper threshold is exceeded, and at step 630, the method 600 includes decreasing the available resources for the asset when the number of interactions falls below the lower threshold. Once the sender 12 determines that the number of interactions with the statue 112b and the arrow 112f have exceed the upper threshold, the sender 12 increases the available resources for these assets. For example, the sender 12 may use higher textures for these assets in particular. In an embodiment, the sender 12 determines that the statue 112b has a greater number of interactions compared to the arrow 112f. As such, the sender 12 prioritises the resource distribution to the statue 112b. Once the sender 12 determines that the number of interactions with the triangle 112c, rectangle 112d and circle 112e have fallen below the lower threshold, the sender 12 decreases the available resources for these assets. For example, the sender 12 may use lower textures for these assets in particular. In an embodiment, upon determining that the triangle 112c, rectangle 112d and circle 112e have fallen below the lower threshold number of interactions, the sender removes these assets from the 3D scene. This means that resources do not need to be allocated to those assets. Step 330 of modifying the virtual environment based on the obtained information form the device data 100 is not limited to just audio and visual modification to the 3D scene as defined by the virtual environment. The modification may be modifications to the game state, and hence the gameplay experience. An ANN may be configured to allocate graphical and / or processing resources based on received data from the virtual environment. The ANN may be trained based on previous user interactions within the virtual environment and / or other virtual environments. The training may be implemented using any suitable supervised, unsupervised or semi-supervised techniques. The training may match game states with necessary resource allocations based on previous user interactions. For example, the ANN may be used to predict that the statue attracts more user interactions than the arrow and resources can be allocated accordingly. A method 800 of modifying a virtual environment based on in-game statistics according to an embodiment of this disclosure is illustrated in the flowchart in Figure 8. Further reference is made to Figure 9 which shows a 3D scene as defined by the virtual environment. The 3D scene in Figure 9 comprises a playable character 112a, an enemy character 112g, and a plurality of death markers 131a which add up to give the overall death count 131 in-game statistic. The death markers 131a are indicative of the locations where playable characters 112a have previously been killed by the enemy character 112g. The death markers 131a may be all part of the same instance of the 3D scene (as in a MMO game) or in separate instance (as in a single player game played by a plurality of players on their respective user electronic devices). At step 810, the method 800 includes obtaining and processing an in-game statistic. The sender 12 obtains the death count 131 from processing the device data 100 and determines that a plurality of playable characters 112a have been killed by the enemy character 112g. At step 820, the method 800 includes altering a game state based on the in-game statistic. The sender 12, upon determining that a plurality of playable characters 112a have been killed by the enemy character 112g, reduces the difficulty of the game such that the enemy characters 112g attacks do less damage to the playable character 112a. Alternatively, the sender 12, upon determining that a plurality of playable characters 112a have easily killed the enemy character 112g, increases the difficulty of the game such that the enemy characters 112g attacks do higher damage to the playable character 112a. The in-game statistic is not limited to a death count, and the game state may be altered in a plurality of ways based on the virtual environment and the obtained in-game statistics. Accordingly, there has been described a method of modifying a virtual environment, the method comprising receiving device data from at least one user electronic device, processing the device data to obtain information relating to the virtual environment, and modifying the virtual environment based on the obtained information. Although particular embodiments of this disclosure have been described, many modifications / additions and / or substitutions may be made within the scope of the claims. It should be noted that the above-mentioned aspects and embodiments illustrate rather than limit the disclosure, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the disclosure as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word "comprising" and "comprises", and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In the present specification, “comprises” means “includes or consists of” and “comprising” means “including or consisting of’. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The disclosure may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Claims
1. A method of modifying a virtual environment, the method comprising:receiving device data (100) from at least one user electronic device (13), the device data comprising information relating to the virtual environment;processing the device data (100) to obtain the information relating to the virtual environment, the obtained information comprising:three dimensional (3D) scene data (110) defining a 3D scene within the virtual environment; and / orresource allocation data (120) relating to graphical resources (121) and / or audio resources (122) within the virtual environment; and / oruser engagement data (130) comprising statistical data aggregated whilst a user of the user electronic device (13) engages with the virtual environment;andmodifying the virtual environment based on the obtained information.
2. The method of claim 1, wherein the 3D scene data (110) comprises positional data (111), the positional data comprising location information relating to playable characters and other assets within the 3D scene, and wherein modifying the virtual environment comprises:determining whether a number of playable characters within a location within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold;increasing available graphical resources (121) and / or audio resources (122) at the location when the upper threshold is exceeded; anddecreasing the available graphical resources (121) and / or audio resources (122) at the location when the number of playable characters falls below the lower threshold.
3. The method of claim 2, wherein decreasing the available audio resources (122) comprises combining the audio resources (122) at the location to provide a single averaged audio resource.
4. The method of claim 1, wherein the 3D scene data (110) further comprises asset data (112), the asset data comprising interaction information relating to playable characters and other assets within the 3D scene, and wherein modifying the virtual environment further comprises:determining whether number of asset interactions of a particular asset within the virtual environment has exceeded an upper threshold or has fallen below a lower threshold;increasing available resources for the asset when the upper threshold is exceeded; anddecreasing the available resources for the asset when the number of interactions falls below the lower threshold.
5. The method of claim 1, wherein modifying the virtual environment further comprises altering a game state based on the obtained user engagement data (130).
6. The method of claim 5, wherein the user engagement data (130) comprises in-game statistics (131, 132), and wherein altering the game state comprises increasing or decreasing game difficulty based on the in-game statistics (131, 132).
7. The method of any preceding claim, wherein the received device data (100) is used as an input to train an artificial neural network (ANN).
8. The method of claim 7, wherein the trained ANN determines a distribution of graphical resources (121) and / or audio resources (122) in real time within the virtual environment based on the received device data (100).
9. A sender electronic device comprising:a processor; andmemory including executable instructions that, as a result of execution by the processor, cause the sender electronic device to perform the computer-implemented method of any of claims 1 to 8.
10. A non-transitory computer readable medium containing program instructions for causing a computer to perform the method of claims 1 to 8.
Citation Information
Patent Citations
Virtual environment navigation method and system
GB2631307A
Multi-device virtual reality, artificial reality and mixed reality analytics
US20180307311A1