Patent Publication Number: US-2023149810-A1

Title: Computer Implemented Method of Scalably Generating Gaming Assets for Rendering During Gameplay

Description:
CROSS-REFERENCE 
     The present application relies on U.S. Patent Provisional Application No. 63/263,957, titled “Computer Implemented Method of Scalably Generating Gaming Assets for Rendering During Gameplay” and filed on Nov. 12, 2021, for priority, which is herein incorporated by reference in its entirety. 
    
    
     FIELD 
     The present specification relates generally to gaming assets or objects. More specifically, the present specification relates to a computer implemented method of automatically generating customized gaming assets based on generic gaming assets and in a manner that is sufficiently scalable. 
     BACKGROUND 
     Video game publishers and developers need their games to attract, engage, and retain players for as long as possible. There exists a positive correlation between the success of video games and the level of engagement of the players, namely the longer or more frequently a player plays a video game, the more likely that the player enjoys the game, spends money within or on the game, and will play the game in the future. Thus, one of the challenges of video game development is to provide ways to ensure or increase the probability of an enjoyable player experience leading to heightened player involvement and participation. 
     One aspect of an improved player experience involves providing a rich variety of gaming assets or objects for players to experience and interact with during gameplay. To further enhance gaming fun, players are often offered options enabling them to customize these gaming assets based on an ever-increasing combination of features related to the gaming assets. For example, a player may be allowed to choose a type of vehicle asset from a number of in-game vehicles such as cars, trucks, buses, choppers, airplanes, bikes, or other modes of transportation. Each type of vehicle may further have a number of variations or customizations depending upon various parameters or attributes associated with the vehicle. For example, a truck may have multiple variations depending upon parameters related to colors, patterns, textures, cab and trolley attachments, accessories, in-game environment conditions, such as, dry, wet and snow, and functionalities, such as, whether the vehicle is a prop, drivable, and/or destructible. Similarly, the player may be allowed to choose a character, which would virtually represents the physical player during gameplay, from many options and then be allowed to customize the character based upon various parameters, such as, for example, visual appearance and model design, associated with aspects such as, but not limited to, attire, hairstyle, facial mask, facial makeup, shoes, and accessories. Still further, the player may be allowed to choose a weapon from a multitude of options and then be allowed to customize the weapon based upon various parameters, such as, for example, visual appearance and weapon accessories, associated with aspects such as, but not limited to, barrel, ammunition magazine, weight, among other parameters. 
     Artists typically need to manually design these gaming assets along with associated variations and customizations in order for these assets to be made available to players as options to choose from during gameplay. With the increasing number of gaming assets and the need to further provide an ever-increasing level of customization, the number of actual gaming assets that artists must manually design can quickly increase from dozens to hundreds to thousands. However, being a manual process, such creation of gaming assets along with associated customizations is neither efficient nor scalable. 
     Therefore, there is a need for a method to automatically generate custom gaming assets based on corresponding generic or high-level gaming assets. There is also a need for the method to be scalable and efficient. 
     SUMMARY 
     The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools and methods, which are meant to be exemplary and illustrative, and not limiting in scope. The present application discloses numerous embodiments. 
     In some embodiments, the present specification discloses a computer implemented method of generating a plurality of customized gaming assets for use in a video game, wherein each of the plurality of customized gaming assets is a customized version of a generic gaming asset and wherein each of the plurality of customized gaming assets is generated by a module executed by at least one host computer in data communication with a computing device, the method comprising: generating a first graphical user interface configured to present one or more gaming assets; receiving, via the first graphical user interface, a first response, wherein the first response is representative of first data indicative of a selected one of the one or more gaming assets; generating a second graphical user interface configured to present one or more parameters specific to the selected one of the one or more gaming assets; receiving, via the second graphical user interface, a second response, wherein the second response is representative of second data indicative of selected parameters of the one or more parameters; generating a third graphical user interface configured to present at least one relationship of at least two of the selected parameters; receiving, via the third graphical user interface, a third response, wherein the third response is representative of third data indicative of the at least one relationship between at least two of the selected parameters; generating the plurality of customized gaming assets based on the first, second and third responses, wherein the plurality of customized gaming assets comprises the one or more gaming assets being customized using combinations of the selected parameters and wherein the combinations are defined, at least in part, by the at least one relationship to yield a second one or more gaming asset; and causing the plurality of customized gaming assets to be displayed. 
     Optionally, the gaming asset is at least one of a vehicle, a character attire, a character hairstyle, character shoes, character accessories, or a weapon. 
     Optionally, the at least one relationship is that of requiring a second one of the selected parameters if a first one of the selected parameters is selected. 
     Optionally, the at least one relationship is that of eliminating a second one of the selected parameters if a first one of the selected parameters is selected. 
     Optionally, the method further comprises inserting at least one of the plurality of customized gaming assets within a game map of the video game for display on the computing device. 
     Optionally, the game map with the at least one of the plurality of customized gaming assets is displayed in a fourth graphical user interface. 
     Optionally, the fourth graphical user interface is associated with a game editor application executed on the at least one host computer. 
     Optionally, the at least one relationship is that of requiring a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected. 
     Optionally, the at least one relationship is that of eliminating a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected. 
     In some embodiments, the present specification discloses a computer readable non-transitory medium comprising a plurality of executable programmatic instructions wherein, when said plurality of executable programmatic instructions are executed by a processor in a computing device, a process for generating a plurality of customized gaming assets of a generic gaming asset for a video game is executed, wherein each of the plurality of customized gaming assets is a customized version of the generic gaming asset, and wherein each of the plurality of customized gaming assets is generated by a module executed by at least one host computer in data communication with a computing device, the plurality of executable programmatic instructions comprising: code adapted to generate a first graphical user interface configured to present one or more generic gaming assets; code adapted to receive, via the first graphical user interface, a first response, wherein the first response is representative of first data indicative of a selected one of the one or more generic gaming assets; code adapted to generate a second graphical user interface configured to present one or more parameters specific to the selected one of the one or more generic gaming assets; code adapted to receive, via the second graphical user interface, a second response, wherein the second response is representative of second data indicative of selected parameters of the one or more parameters; code adapted to generate a third graphical user interface configured to present at least one relationship of at least two of the selected parameters; code adapted to receive, via the third graphical user interface, a third response, wherein the third response is representative of third data indicative of the at least one relationship between at least two of the selected parameters; code adapted to generate the plurality of customized gaming assets based on the first, second and third responses, wherein the plurality of customized gaming assets comprises the generic gaming asset tailored using combinations of the selected parameters and wherein the combinations are defined, at least in part, by the at least one relationship; and code adapted to cause the plurality of customized gaming assets to be displayed. 
     Optionally, the generic gaming asset is at least one of a vehicle, a character attire, a character hairstyle, character shoes, character accessories, or a weapon. 
     Optionally, the at least one relationship is that of requiring a second one of the selected parameters if a first one of the selected parameters is selected. 
     Optionally, the at least one relationship is that of eliminating a second one of the selected parameters if a first one of the selected parameters is selected. 
     Optionally, the computer readable non-transitory medium further comprises code adapted to insert at least one of the plurality of customized gaming assets within a game map of the video game for display on the computing device. 
     Optionally, the game map with the at least one of the plurality of customized gaming assets is displayed in a fourth graphical user interface. 
     Optionally, the fourth graphical user interface is associated with a game editor application executed on the at least one host computer. 
     Optionally, the at least one relationship is that of requiring a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected. 
     Optionally, the at least one relationship is that of eliminating a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected. 
     The aforementioned and other embodiments of the present specification shall be described in greater depth in the drawings and detailed description provided below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings illustrate various embodiments of systems, methods, and embodiments of various other aspects of the disclosure. Any person with ordinary skills in the art will appreciate that the illustrated element boundaries (e.g., boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. It may be that in some examples one element may be designed as multiple elements or that multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another and vice versa. Furthermore, elements may not be drawn to scale. Non-limiting and non-exhaustive descriptions are described with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating principles. 
         FIG.  1    illustrates a multi-player or massively multi-player online gaming platform/environment, in accordance with some embodiments of the present specification; 
         FIG.  2 A  depicts a first graphical user interface (GUI) displaying data indicative of a plurality of generic assets or objects, in accordance with some embodiments of the present specification; 
         FIG.  2 B  depicts another GUI displaying a plurality of data indicative of parameters or attributes associated with a ‘sedan’ asset or object, in accordance with some embodiments of the present specification; 
         FIG.  2 C  depicts another GUI to enable the user to establish relationship between a first parameter or attribute and a second parameter or attribute, in accordance with some embodiments of the present specification; 
         FIG.  2 D  illustrates a plurality of customized assets or objects of a generic asset or object, in accordance with some embodiments of the present specification; 
         FIG.  2 E  depicts yet another GUI illustrating first, second and third plurality of auto-generated customized assets or objects, in accordance with some embodiments of the present specification; 
         FIG.  2 F  depicts still another GUI with a customized asset or object positioned within a game map, in accordance with some embodiments of the present specification; and 
         FIG.  3    is a flowchart of a plurality of exemplary steps of a method of automatically generating one or more customized assets or objects of a generic asset or object, in accordance with some embodiments of the present specification. 
     
    
    
     DETAILED DESCRIPTION 
     The present specification is directed towards multiple embodiments. The following disclosure is provided in order to enable a person having ordinary skill in the art to practice the invention. Language used in this specification should not be interpreted as a general disavowal of any one specific embodiment or used to limit the claims beyond the meaning of the terms used therein. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Also, the terminology and phraseology used is for the purpose of describing exemplary embodiments and should not be considered limiting. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention. 
     The term “a multi-player online gaming platform” or “or massively multiplayer online game” may be construed to mean a specific hardware architecture in which one or more servers electronically communicate with, and concurrently support game interactions with, a plurality of computing devices, thereby enabling each of the computing devices to simultaneously play in the same instance of the same game. Preferably the plurality of computing devices number in the dozens, preferably hundreds, preferably thousands. In one embodiment, the number of concurrently supported computing devices ranges from 10 to 5,000,000 and every whole number increment or range therein. Accordingly, a multi-player gaming platform/environment or a massively multiplayer online game is a computer-related technology, a non-generic technological environment, and should not be abstractly considered a generic method of organizing human activity divorced from its specific technology environment. 
     In various embodiments, a computing device includes an input/output controller, at least one communications interface and system memory. The system memory includes at least one random access memory (RAM) and at least one read-only memory (ROM). These elements are in communication with a central processing unit (CPU) to enable operation of the computing device. In various embodiments, the computing device may be a conventional standalone computer or alternatively, the functions of the computing device may be distributed across multiple computer systems and architectures. 
     In some embodiments, execution of a plurality of sequences of programmatic instructions or code enable or cause the CPU of the computing device to perform various functions and processes. In alternate embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of the processes of systems and methods described in this application. Thus, the systems and methods described are not limited to any specific combination of hardware and software. 
     The term “module”, “application” or “engine” used in this disclosure may refer to computer logic utilized to provide a desired functionality, service or operation by programming or controlling a general purpose processor. Stated differently, in some embodiments, a module, application or engine implements a plurality of instructions or programmatic code to cause a general purpose processor to perform one or more functions. In various embodiments, a module, application or engine can be implemented in hardware, firmware, software or any combination thereof. The module, application or engine may be interchangeably used with unit, logic, logical block, component, or circuit, for example. The module, application or engine may be the minimum unit, or part thereof, which performs one or more particular functions. 
     The term “user” used in this disclosure may refer to a graphics artist or someone who is responsible for creating customized assets or objects for rendering in the game. The term “player” refers to a person involved in playing a game. 
     In the description and claims of the application, each of the words “comprise”, “include”, “have”, “contain”, and forms thereof, are not necessarily limited to members in a list with which the words may be associated. Thus, they are intended to be equivalent in meaning and be open-ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It should be noted herein that any feature or component described in association with a specific embodiment may be used and implemented with any other embodiment unless clearly indicated otherwise. 
     It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems and methods are now described. 
     Overview 
       FIG.  1    illustrates an embodiment of a multi-player online gaming platform/environment or a massively multiplayer online gaming system/environment  100  in which the systems and methods of the present specification may be implemented or executed, in accordance with some embodiments. Persons of ordinary skill in the art would appreciate that while the systems and methods of the present specification are hereinafter described in the context of a multi-player online gaming platform/environment, in alternate embodiments the systems and methods of the present specification can also be implemented for single or multi-player offline gaming platform/environment. 
     Referring now to  FIG.  1   , the gaming platform  100  comprises at least one server or host computer  105  that is in data communication with one or more computing devices  110  over a network  115 . Players may access the gaming platform  100  via the one or more computing devices  110  ( 110   a ,  110   b ,  110   c  and  110   d ). Additionally, a user such as, for example, a graphics artist may access the gaming platform  100  as well as various modules or engines via a computing device  190 . The computing devices  110  comprise devices such as, but not limited to, personal or desktop computers, laptops, Netbooks, handheld devices such as smartphones, tablets, and PDAs, gaming consoles and/or any other computing platform known to persons of ordinary skill in the art. Although four computing devices  110   a  through  110   d  are illustrated in  FIG.  1   , any number of computing devices  110  can be in communication with the at least one server or host computer  105  over the network  115 . 
     The at least one server or host computer  105  can be any computing device having one or more processors and one or more computer-readable storage media such as RAM, hard disk or any other optical or magnetic media. The at least one server or host computer  105  include a plurality of modules operating to provide or implement a plurality of functional, operational or service-oriented methods of the present specification. In some embodiments, the at least one server or host computer  105  include or are in communication with at least one database system  120 . The database system  120  stores a plurality of game data including gaming assets or objects data associated with one or more games that are served or provided to the computing devices  110  over the network  115 . In some embodiments, the at least one server or host computer  105  may be implemented by a cloud of computing platforms operating together as servers or host computers  105 . 
     In accordance with aspects of the present specification, the at least one server or host computer  105  provides or implements a plurality of modules or engines such as, but not limited to, a master game module  130  and an assets creation module  132 . The one or more computing devices  110  are configured to implement or execute one or more of a plurality of player-side modules some of which are same as or similar to the modules of the at least one server or host computer  105 . In some embodiments each of the player computing devices  110   a  through  110   d  executes a player gaming module  130 ′. Alternatively, or additionally, in some embodiments, the game designer&#39;s computing device  190  may further integrate a user-side viewing application  134  (with the player gaming module  130 ′) to access, view and interact with a plurality of GUIs (graphical user interfaces) generated by the assets creation module  132 . In alternate embodiments, the game designer&#39;s computing device  190  may use a browser application to access, view and interact with a plurality of GUIs generated by the assets creation module  132 . 
     While various aspects of the present specification are being described with reference to functionalities or programming distributed across modules or engines  130 ,  130 ′,  132  and  134  on the server, player and game designer&#39;s sides, it should be appreciated that, in some embodiments, some or all of the functionalities or programming associated with these modules or engines may be integrated within fewer modules or in a single module—such as, for example, in the master game module  130  itself on the server side and in the gaming module  130 ′ on the user side. 
     In embodiments, the master game module  130  is configured to execute an instance of an online game to facilitate interaction of the players with the game. In embodiments, the instance of the game executed may be synchronous, asynchronous, and/or semi-synchronous. The master game module  130  controls aspects of the game for all players and receives and processes each player&#39;s input in the game. In other words, the master game module  130  hosts the online game for all players, receives game data from the computing devices  110  and transmits updates to all computing devices  110  based on the received game data so that the game, on each of the computing devices  110 , represents the most updated or current status with reference to interactions of all players with the game. Thus, the master game module  130  transmits game data over the network  115  to the computing devices  110  for use and rendering by the player gaming module  130 ′ to provide local versions and current status of the game to the players. 
     On the player-side, each of the one or more computing devices  110  implements the player gaming module  130 ′ that operates as a gaming application to provide a player with an interface between the player and the game. The player gaming module  130 ′ generates the interface to render a virtual environment, virtual space, game space, map or virtual world associated with the game and enables the player to interact in the virtual environment to perform a plurality of game and other tasks and objectives. The player gaming module  130 ′ accesses at least a portion of game data, received from the game server or host computer  105 , to provide an accurate representation of the game to the player. The player gaming module  130 ′ captures and processes player inputs and interactions within the virtual world or environment and provides at least a portion as updates to the game server or host computer  110  over the network  115 . 
     On the game designer side, the computing device  190  enables the game designer to access, view and interact with a plurality of GUIs generated by the asset creation module  132  using either the user-side viewing application  134  that may be standalone or integrated with other software (such as, for example, the player gaming module  130 ′) executing on the computing device  190  or using a browser application. 
     The database system  120  described herein may be, include, or interface to, for example, an Oracle™ relational database sold commercially by Oracle Corporation. Other databases, such as Informix™, DB2 (Database 2) or other data storage, including file-based, or query formats, platforms, or resources such as OLAP (On Line Analytical Processing), SQL (Structured Query Language), a SAN (storage area network), Microsoft Access™ or others may also be used, incorporated, or accessed. The database system  120  may comprise one or more such databases that reside in one or more physical devices and in one or more physical locations. In some embodiments, the database system  120  may store a plurality of data such as, but not limited to, game data, gaming assets or objects data, and programming instructions with reference to various modules  130  and  132 . 
     Asset Creation Module  132   
     In accordance with some aspects of the present specification, the asset creation module  132  implements a plurality of instructions or programmatic code to generate a plurality of graphical user interfaces (GUIs), for display on a game designer&#39;s computing device  190 , to enable the game designer to create, and automate the generation of, an inventory of a plurality of variations, customizations or modifications of gaming assets or objects based on a plurality of parameters or attributes associated with the gaming assets or objects. It should be appreciated that the asset creation module  132  enables generation of customized assets of many different types of gaming assets or objects such as, but not limited to, vehicles, weapons, character models, character clothing or attire, character shoes, character accessories and character hairstyles. 
     In accordance with some aspects, the asset creation module  132  is configured to generate a first GUI on the game designer&#39;s computer  190  to enable the game designer to select data indicative of a generic asset or object, which may belong to a high-level class of assets or objects, from a displayed one or more classes, families or groups of assets or objects, for which the game designer desires to create and auto-generate one or more variants. As an example, the game designer may interact with the first GUI to select a ‘car or sedan’ as a generic asset or object from a ‘vehicles’ class of assets or objects for which variations or customizations need to be created. In another example, the user may interact with the first GUI to select a specific ‘character outfit’ as a generic asset or object from a ‘characters’ class of assets or objects for which variations or customizations need to be created. In yet another example, the user may interact with the first GUI to select an ‘AK-47’ as a generic asset or object from a ‘weapons’ class of assets or objects for which variations or customizations need to be created. 
       FIG.  2 A  shows a first GUI  202   a  displaying data indicative of a plurality of generic assets or objects, in accordance with some embodiments of the present specification. As shown, the first GUI  202   a  has a first portion or area  204  that defines a first plurality of generic asset or object data  204   a ,  204   b ,  204   c  from a ‘vehicles’ class of assets or objects, a second portion or area  206  that defines a second plurality of generic asset or object data  206   a ,  206   b ,  206   c  from a ‘characters’ class, and a third portion or area  208  that defines a third plurality of generic asset or object data  208   a ,  208   b  from a ‘weapons’ class of assets or objects. In an example, the user has selected the sedan  204   a  as the generic asset or object, as noted by the additional outline around the sedan image, for which variations or customizations need to be created. 
     Once the game designer has selected a generic asset or object, such as, the sedan  204   a  from the first GUI  202   a , the assets creation module  132  is configured to generate a second GUI to enable the user to select one or more data indicative of parameters or attributes from displayed plurality of parameters or attributes associated with the selected generic asset or object. In some embodiments, each of the displayed plurality of parameters or attributes is associated with a customizable category or aspect of the generic asset or object. For example, there may be a first customizable category or aspect of ‘visual appearances, skins or materials’, a second customizable category or aspect of ‘models, attachments and/or accessories’, a third customizable category or aspect of ‘functions or roles’, and/or a fourth customizable category or aspect of the ‘environment’ in which the asset or object is rendered in a game. In embodiments, the displayed plurality of parameters or attributes, and therefore the customizable categories or aspects, may vary depending upon the associated generic asset or object. For example, parameters or attributes related to ‘visual appearances, skins or materials’ would vary among vehicles, characters and weapons classes of assets or objects. Again, parameters or attributes related to ‘functions or roles’ may be pertinent to the vehicles class and perhaps not to the characters and weapons class of assets or objects. Thus, for a sedan exemplary set of parameters or attributes may include length, color, weight, speed, destructibility, wetness, snow, and/or locale variations such as, for example, US, EU and Japan. 
     As a non-limiting illustration, in response to the game designer selecting the sedan  204   a  from the first GUI  202   a ,  FIG.  2 B  shows a second GUI  202   b  displaying a plurality of data indicative of parameters or attributes associated with the sedan  204   a  asset or object, in accordance with some embodiments of the present specification. It should be appreciated that the picture of the sedan represents the asset at a first level of detail while the association of specific attributes with the sedan presents the asset at a second level of detail which is greater than the first. As shown, the second GUI  202   b  has a first portion or area  222  that displays a first plurality of data  220   a  indicative of parameters or attributes related to a first customizable category or aspect of ‘functions or roles’ (that is, whether the sedan  204   a  represents a static, destructible or player-drivable vehicle), and a second portion or area  224  that displays a second plurality of data  220   b  indicative of parameters or attributes related to a second customizable category or aspect of ‘environment’, that is, whether the sedan  204   a  should be rendered in dry, wet/rainy or snowy conditions in the game, and a third plurality of data  220   c  indicative of parameters or attributes related to a third customizable category or aspect of ‘locale’, that is, whether the sedan  204   a  carries, say, a US, EU or Cuban number plate in the game, is a right or left side driven vehicle, or whether the sedan  204   a  is being rendered in the game played in US, EU or Cuba, for example. 
     The first portion or area  222  also displays a fourth plurality of data  220   d  indicative of parameters or attributes related to a fourth customizable category or aspect of ‘visual appearance, skin or material’, that is, the color or texture in which the sedan  204   a  should be rendered in the game. The second GUI  202   b  includes a third portion or area  226  that displays at least one 3D view of the sedan  204   a . In embodiments, the 3D view of the sedan  204   a  is updated, in real-time, to reflect the impact of the user selecting one or more of the first, second, third and fourth plurality of data  220   a ,  220   b ,  220   c ,  220   d . Stated differently, the user is able to simultaneously view the customization effects, due to the selection of various parameters or attributes, on the sedan  204   a  asset or object. 
     In some embodiments, the asset creation module  132  is configured to further generate a third GUI to enable the user to define or establish relationship (or restrictions/constraints) among at least two of the plurality of parameters or attributes associated with the selected generic asset or object. In various embodiments, the relationship determines which parameters or attributes can be combined or selected concurrently by the game designer to generate variants of the generic asset or object and/or which parameters or attributes cannot be combined or selected simultaneously and are therefore part of restrictions/constraints. Stated differently, the GUI enables a linking between a second parameter and a first parameter such that when the first parameter is selected, the second parameter is automatically selected as well. Conversely, the GUI enables a delinking between a second parameter and a first parameter such that when the first parameter is selected, the second parameter is automatically negated, voided, or grayed out as a potential option. 
       FIG.  2 C  shows a third GUI  202   c  to enable the user to establish relationship between a first parameter or attribute and a second parameter or attribute, in accordance with some embodiments of the present specification. As a non-limiting example, the third GUI  202   c  enables the user to combine the ‘locale’ parameters or attributes  232  and the ‘environment’ parameters or attributes  234 . Thus, for example, for the Euro ‘locale’ parameter or attribute  232   a  the game designer selects dry  234   a , wet  234   b  and/or snow  234   c  ‘environment’ parameters or attributes. That is, for the Euro ‘locale’ variant of the sedan  204   a  ( FIG.  2 A ), the game designer would like to auto-generate dry, wet and/or snow variations or customizations. On the other hand, for example, for the Cuba ‘locale’ parameter or attribute  232   b  the user selects only the dry  234   a ′ and wet  234   b ′ ‘environment’ parameters or attributes. That is, for the Cuba ‘locale’ variant of the sedan  204   a , the user would like to auto-generate dry and wet variations or customizations and should not be permitted or enabled to auto-generate snow variations or customizations. 
     Accordingly, a relationship between a first parameter or attribute and a second parameter or attribute is established as follows: 1) a second one of the selected parameters (for example, dry  234   a , wet  234   b  and/or snow  234   c ) is required if a first one of the selected parameters (for example, the Euro ‘locale’ parameter or attribute  232   a ) is selected, and/or  2 ) a second one of the selected parameters (for example, snow variations or customizations) is eliminated if a first one of the selected parameters is selected (for example, the Cuba ‘locale’ parameter or attribute  232   b ). In a similar manner, between first, second, and third parameters or attributes is such that a) of requiring a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected, and/or b) eliminating a third one of the selected parameters only if a first one of the selected parameters is selected and if a second one of the selected parameters is selected. Thus, in general, based upon a selection of one attribute, another attribute may be required or may be eliminated as an available attribute when auto generating variants, as described below. 
     Based on the game designer&#39;s selections, inputs or responses received through the first, second and third GUIs  202   a ,  202   b  and  202   c , the asset creation module  132  is configured to automatically generate one or more customized assets or objects of the generic asset or object, as selected in the first GUI  202   a .  FIG.  2 D  illustrates a plurality of customized assets or objects  240  of the sedan  204   a  ( FIG.  2 A ), in accordance with some embodiments of the present specification. As an example, the plurality of customized assets or objects  240  are auto-generated based on the game designer selecting a) black and blue as parameters or attributes for a customizable category or aspect of ‘visual appearance, skin or material’  242  for the sedan  204   a  ( FIG.  2 A ), b) dead model, vehicle and destructible as parameters or attributes for another customizable category or aspect of ‘functions or roles’  244  for the sedan  204   a , c) dry and wet as parameters or attributes for a customizable category or aspect of ‘environment’  246  for the sedan  204   a , and d) Euro and Cuba as parameters or attributes for a customizable category or aspect of ‘locale’  248  for the sedan  204   a . Thus, the plurality of customized assets or objects  240  of the sedan  204   a  represent various permutation and combinations of the parameters or attributes  242 ,  244 ,  246  and  248 . It should be appreciated that while  FIG.  2 D  illustrates an inventory of the plurality of customized assets or objects  240  in textual format, in other embodiments each of the plurality of customized assets or objects  240  is shown to the user in graphical format (such as, for example, in 3D perspective view as illustrated in  FIG.  2 E ). 
     Therefore, the present invention provides for the hierarchical selection of different types of variants, some of which are required based on the selection of other variants and some of which are impermissible based on the selection of other variants, as described above. Once the full hierarchical set of different types of variants are selected, the system automatically, and without human intervention, generates permissible combinations of the different types of variants to yield multiple instances of an asset for a video game, where each instance has a different combination of traits. Therefore, if a game designer is creating an urban landscape littered with cars, this approach can rapidly enable the game designer to generate, and subsequently place, different looking vehicles within the landscape. 
       FIG.  2 E  shows a GUI  202   e  illustrating first, second and third plurality of auto-generated customized assets or objects, in accordance with some embodiments of the present specification. As shown, the first plurality of auto-generated customized assets or objects  252  are variants of a first generic asset or object  250 , which is a ‘truck’, the second plurality of auto-generated customized assets or objects  256  are variants of a second generic asset or object  254 , which is a ‘character’, and the third plurality of auto-generated customized assets or objects  260  are variants of a third generic asset or object  258 , which is an ‘AK-47’. 
     Finally, the asset creation module  132  is configured to place or position at least one auto-generated customized asset or object into the game map for viewing by the game designer.  FIG.  2 F  shows a GUI  202   f  with a customized asset or object  265  being positioned within a game map  267 , in accordance with some embodiments of the present specification. As an example, the GUI  202   f  shows the customized asset or object  265  being a ‘car’. A portion or area  270  shows that the customized asset or object  265  has destructible (role), blue (visual appearance) and dry (environment) as the parameters or attributes  272  associated with the customized asset or object  265 . As shown, in accordance with some embodiments, the customized asset or object  265  has roles, presets or visual appearances, locales and environments as the customizable categories or aspects. 
     In some embodiments, the asset creation module  132  is configured to enable the game designer to manually place the at least one auto-generated customized asset or object into the game map for viewing. In some embodiments, the asset creation module  132  is configured to automatically place the at least one auto-generated customized asset or object into the game map for viewing by the game designer. In some embodiments, the asset creation module  132  is configured to automatically place the at least one auto-generated customized asset or object into the game map when an exact position of an auto-generated customized asset or object in an environment of the game map is non-consequential or does not matter. As a non-limiting illustration, consider a battlefield environment (in a game map) that includes a plurality of burning and damaged vehicles scattered around. In such an environment, the game artist may not be concerned or care exactly where each of the plurality of vehicles is placed but rather, is simply focused on ensuring that the battlefield be generally filled with wreckage that is placed in a believable and reasonable fashion. 
     In some embodiments, the asset creation module  132  is in data communication with a game editor application that is accessible to the game designer through their computing device  190  ( FIG.  1   ). The GUI  202   f  of  FIG.  2 F  is an exemplary interface generated by the game editor application which is configured to generate the interface. Through the game editor application, the game designer provides customized assets or objects distribution inputs to the asset creation module  132  such as, but not limited to, a) defining at least one area of the game map environment (for example, the battlefield) that needs to be filled with vehicle wreckage and/or b) defining which of a plurality of auto-generated customized assets or objects (for example, vehicles or bodies) need to be used to fill the game map environment. For example, the game designer may choose that of the plurality of auto-generated customized assets or objects, which in this case is vehicles and/or bodies, 40% should be damaged trucks, 40% should be burning tanks and 20% should be charred bodies that fill the game map environment of a battlefield. Accordingly, in one embodiment, the system distributes game assets in predefined areas of game map based on a categorization provided by a game designer, wherein the categorization establishes proportions based on a certain trait. 
     The asset creation module  132  receives the customized assets or objects distribution inputs and is configured to automatically scatter or distribute the plurality of customized assets or objects into the game map environment. The asset creation module  132  is configured to implement a plurality of predefined, yet customizable, rules to ensure that the plurality of customized assets or objects are scattered or distributed randomly and intelligently. For example, the plurality of rules ensure that a damaged truck should not lie on top of a burning tank. Similarly, if there is a river or any other water body that runs through the battlefield then the plurality of rules ensures that none of the plurality of customized assets or objects is placed in the river. In some embodiments, the game artist may (additionally or alternatively) use the game editor application to instruct the asset creation module  132  to subtract or cut out the river from the area of the battlefield. Resultantly, the asset creation module  132  is configured to place the plurality of customized assets or objects on land, on the riverbanks, but not in the river itself. Accordingly, in one embodiment, the system is configured to automatically distribute game assets in a virtual landscape based on a) the traits of the game asset and b) to what extent the trait is compatible or incompatible with the traits of the virtual landscape. For example, a building or vehicle has a trait of being on land while a body of water has the trait of not being land. Therefore, the system would not automatically place building or vehicle assets on a body of water. Similarly, boulders, rocks, cars, tanks, and other such game assets have the trait of being on the ground or on a supported structure. Therefore, the system would not automatically place such assets such that they are floating in the air since that has the trait of not being grounded or supported by a structure. One of ordinary skill in the art would understand other similar trait compatibility tests exist and fall within the scope of this invention. 
       FIG.  3    is a flowchart of a plurality of exemplary steps of a method  300  of automatically generating one or more customized assets or objects of a generic asset or object, in accordance with some embodiments of the present specification. In embodiments, the method  300  is implemented by the asset creation module  132  ( FIG.  1   ). 
     At step  302 , the asset creation module  132  generates a first GUI (for display on the user&#39;s computing device  190 ) to enable the game designer to select data indicative of a generic asset or object (that may belong to a high-level class of assets or objects), from displayed one or more classes, families or groups of assets or objects, for which the game designer desires to create and auto-generate one or more customized assets or objects. 
     At step  304 , based on the generic asset or object selected by the game designer, the asset creation module  132  generates a second GUI for display on the game designer&#39;s computing device  190  to enable the game designer to select one or more data indicative of parameters or attributes from displayed plurality of parameters or attributes associated with the selected generic asset or object. 
     At step  306 , the asset creation module  132  generates a third GUI for display on the game designer&#39;s computing device  190  to enable the game designer to define or establish relationships or restrictions/constraints among at least two of the displayed plurality of parameters or attributes associated with the selected generic asset or object. 
     At step  308 , based on the game designer&#39;s selections, inputs or responses received through the first, second and third GUIs, the asset creation module  132  automatically generates one or more customized assets or objects of the generic asset or object, selected in the first GUI, for display in a fourth GUI on the game designer&#39;s computing device  190 . 
     Finally, at step  310 , the asset creation module  132  places or positions at least one auto-generated customized asset or object, selected or chosen by the user, into a game map for display on the game designer&#39;s computing device  190 . In some embodiments, the at least one auto-generated customized asset or object positioned within the game map is displayed in a fifth GUI. In some embodiments, the fifth GUI is associated with a game editor application executed on the at least one server  105  and/or on the game designer&#39;s computing device  190 . In some embodiments, the asset creation module  132  automatically places or positions the at least one auto-generated customized asset or object into the game map. In some embodiments, the game designer manually places or positions the at least one auto-generated customized asset or object into the game map. 
     The above examples are merely illustrative of the many applications of the systems and methods of the present specification. Although only a few embodiments of the present invention have been described herein, it should be understood that the present invention might be embodied in many other specific forms without departing from the spirit or scope of the invention. Therefore, the present examples and embodiments are to be considered as illustrative and not restrictive, and the invention may be modified within the scope of the appended claims.