The ‘742 patent seeks to make video games more interested by describing a random map generation system. The invention randomly generates a map by assigning values to a number of different elements that may appear on the map (hills, water, weapons, etc.). The generator analyzes the weights of objects, the character in play, and the situation in order to make the fairest map possible. The invention seeks to make the game play fun for the user by changing the landscape, but it is programmed to not make unfair maps which would make the playing difficult for the player’s character.
The generation of a random map for use in a video game may involve a random value generation function, with weighted texture and/or object values to control whether certain textures and/or objects are placed at certain locations on the map. Some locations may have no objects, or may have rivers or cliffs added. Additionally, equitable object placement for multiple players may be accomplished using object constraints. Closest point determination may be used for certain object types, while other objects may have constraints relaxed if initial placement efforts are unsuccessful. As a further addition, physical modeling of a humanoid form may be accomplished using a three-part model, where angles on the model drive the display of animation frames for the object.
1. A computer-implemented method of generating a random map at a computing system having a processor and memory, comprising the steps of the computing system performing the following: the computing system defining a plurality of elements to be distributed across a plurality of tiles on a map to be generated; the computing system assigning a plurality of weight values to said plurality of elements; the computing system using a random value function to generate a value for each of said plurality of tiles; the computing system comparing said generated value with one or more of said assigned weight values to select one of said elements for one of said tiles; and the computing system adding said selected element, comprising a first object, to said one of said tiles in the map by at least performing the following: defining one or more placement constraints for a first object to be placed on a the map, said constraints identifying an object type, and indicating a distance value to be used in placing said first object if another object of said identified object type is already placed on said map; proposing a location on said map for said first object; determining whether said proposed location satisfies said one or more constraints; and if said proposed location does not satisfy said constraints, then finding a second location on said map for said first object, wherein said second location is found based on said proposed location.