US8368686B2ExpiredUtilityA1

Resource management for rule-based procedural terrain generation

59
Assignee: SONY ONLINE ENTERTAINMENT LLCPriority: May 26, 2004Filed: Jun 25, 2004Granted: Feb 5, 2013
Est. expiryMay 26, 2024(expired)· nominal 20-yr term from priority
Inventors:Anthony Sommers
G06T 17/05G06F 12/023G06T 1/60G06T 17/00G06T 19/20G06F 9/50
59
PatentIndex Score
10
Cited by
27
References
24
Claims

Abstract

Disclosed are systems and methods for rule-based procedural generation of terrain in real time for a virtual world. By describing the terrain with rules rather than storing the actual geometry data, a drastic savings in terms of memory and disk space is achieved by generating terrain procedurally on the fly in real time when it is necessary. Using the terrain editor tool, the terrain system allows defining and modifying the terrain height, color, shaders, textures, flora, and environment, for example. Additionally, generating the terrain procedurally allows for almost limitless detail by changing the parameters used to create the terrain geometry. These rules can also be added and removed dynamically, leading to terrain modification in real time. In addition, resources are managed for the terrain generation system, such as allocating memory for areas of virtual terrain; associating a priority level to each virtual terrain for memory management; and deallocating memory of the virtual terrain based at least in part on the priority levels of the areas of virtual terrain.

Claims

exact text as granted — not AI-modified
1. A method of generating terrain in a virtual world, the method comprising:
 receiving in a terrain generator a plurality of procedural rules that procedurally describe the terrain in a virtual world without storing terrain data, wherein each rule affects the generation of a portion of the terrain including terrain properties and each rule including at least boundaries, filters, and affectors; 
 generating terrain in the virtual world in accordance with the plurality of procedural rules by writing data to a buffer for rendering terrain in real time on a visual display, 
 wherein the plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap, 
 wherein when multiple procedural rules overlap the terrain generator specifies a blend region, 
 wherein the plurality of procedural rules is textually represented so that the boundaries, filters, and affectors are assigned numeric values that represent desired attributes in a logical textual format, 
 wherein the textual representation of the plurality of procedural rules describes the dynamic aspects of the terrain in the virtual world, 
 wherein modification of the terrain in a virtual world is enabled by adding or deleting at least one procedural rule from the plurality of procedural rules; and 
 providing a resource management policy for deallocating memory allocated to unused or unnecessary portions of the terrain. 
 
     
     
       2. A method of managing virtual terrain, the method comprising:
 allocating memory for a plurality of areas of virtual terrain; 
 associating a priority level to each area of the plurality of areas of virtual terrain for memory management, 
 wherein said each area of virtual terrain is defined by a plurality of procedural rules textually represented so that boundaries, filters and affectors are assigned numeric values that represent desired attributes in a logical textual format, 
 wherein the textual representation of the plurality of procedural rules describes the dynamic aspects of the terrain in the virtual world, 
 wherein the plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap, 
 wherein when multiple procedural rules overlap the terrain generator specifies a blend region, and 
 wherein modification of said each area of virtual terrain is enabled by adding or deleting at least one procedural rule from the plurality of procedural rules; and deallocating memory of the virtual terrain based at least in part on the priority levels of the plurality of areas of virtual terrain. 
 
     
     
       3. The method of  claim 2 , additionally comprising assigning a priority level to areas of the virtual terrain where an avatar is positioned. 
     
     
       4. The method of  claim 3 , additionally comprising assigning a priority level to areas of the virtual terrain that are proximate to the avatar. 
     
     
       5. The method of  claim 4 , wherein the priority level assigned to the areas of the virtual terrain where the avatar is positioned is higher than the priority level assigned to the areas of the virtual terrain that are proximate to the avatar. 
     
     
       6. The method of  claim 2 , wherein one of four priority levels is assigned to the areas of the virtual terrain where an avatar is positioned and to areas of the virtual terrain that are proximate to the avatar. 
     
     
       7. The method of  claim 2 , wherein deallocating occurs when the number of areas of the virtual terrain exceeds a threshold. 
     
     
       8. A system for managing virtual terrain, the method comprising:
 means for allocating memory for a plurality of areas of virtual terrain; 
 means for associating a priority level to each area of the plurality of areas of virtual terrain for memory management, 
 wherein said each area of virtual terrain is defined by a plurality of procedural rules textually represented so that boundaries, filters and affectors are assigned numeric values that represent desired attributes in a logical textual format, 
 wherein the textual representation of the plurality of procedural rules describes the dynamic aspects of the terrain in the virtual world, 
 wherein the plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap, 
 wherein when multiple procedural rules overlap the terrain generator specifies a blend region, 
 wherein modification of said each area of virtual terrain is enabled by adding or deleting at least one procedural rule from the plurality of procedural rules; and 
 means for deallocating memory of the virtual terrain based at least in part on the priority levels of the plurality of areas of virtual terrain. 
 
     
     
       9. The system of  claim 8 , additionally comprising means for assigning a priority level to areas of the virtual terrain where an avatar is positioned. 
     
     
       10. The system of  claim 8 , additionally comprising means for assigning a priority level to areas of the virtual terrain that are proximate to an avatar. 
     
     
       11. The system of  claim 8 , wherein the means for deallocating is invoked when the number of areas of the virtual terrain exceeds a threshold. 
     
     
       12. A non-transitory computer-readable medium encoded with a computer program comprising executable instructions that cause a computer to:
 allocate memory for a plurality of areas of virtual terrain; 
 associate a priority level to each area of the plurality of areas of virtual terrain for memory management, 
 wherein said each area of virtual terrain is defined by a plurality of procedural rules textually represented so that boundaries, filters and affectors are assigned numeric values that represent desired attributes in a logical textual format, 
 wherein the textual representation of the plurality of procedural rules describes the dynamic aspects of the terrain in the virtual world; 
 wherein the plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap, 
 wherein when multiple procedural rules overlap the terrain generator specifies a blend region, 
 wherein modification of said each area of virtual terrain is enabled by adding or deleting at least one procedural rule from the plurality of procedural rules; and 
 deallocate memory of the virtual terrain based at least in part on the priority levels of the virtual terrain. 
 
     
     
       13. The computer readable medium of  claim 12 , further comprising executable instructions that cause a computer to
 assign a priority level to areas of the virtual terrain where an avatar is positioned. 
 
     
     
       14. The computer readable medium of  claim 12 , further comprising executable instructions that cause a computer to
 assign a priority level to areas of the virtual terrain that are proximate to an avatar. 
 
     
     
       15. The computer readable medium of  claim 12 , wherein deallocating occurs when the number of areas of the virtual terrain exceeds a threshold. 
     
     
       16. A system for managing memory, the system comprising:
 a plurality of areas of virtual terrain, each area of the plurality of areas of virtual terrain having an associated priority level assigned for memory management, 
 wherein said each area of virtual terrain is defined by a plurality of procedural rules textually represented so that boundaries, filters and affectors are assigned numeric values that represent desired attributes in a logical textual format, 
 wherein the textual representation of the plurality of procedural rules describes the dynamic aspects of the terrain in the virtual world; 
 wherein the plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap, 
 wherein when multiple procedural rules overlap the terrain generator specifies a blend region, 
 wherein modification of said each area of virtual terrain is enabled by adding or deleting at least one procedural rule from the plurality of procedural rules; and 
 a terrain manager for allocating and deallocating memory for the virtual terrain based at least in part on the priority level. 
 
     
     
       17. The system of  claim 16 , wherein areas of the virtual terrain that are near an avatar have a selected priority level. 
     
     
       18. The system of  claim 16 , wherein areas of the virtual terrain that include an avatar have a selected priority level. 
     
     
       19. The method of  claim 1 , wherein the terrain properties include geometric properties. 
     
     
       20. The method of  claim 1 , wherein the virtual world is a massively multiplayer online game (MMO),
 wherein the textual representation of the plurality of procedural rules describing the dynamic aspect of the terrain in the MMO involves 
 specifying surface terrain properties of the MMO by tagging terrain tiles with game-specific data that affects what a player of the MMO experiences, and 
 wherein tagging terrain tiles with game-specific data includes marking the terrain tiles as slippery, damage inflicting, or impassable. 
 
     
     
       21. The method of  claim 1 , wherein the virtual world is a massively multiplayer online game (MMO), and
 wherein the textual representation of the plurality of procedural rules describing the dynamic aspect of the terrain in the MMO involves 
 real-time modification of the procedurally-generated terrain in the MMO by specifying certain region and deformation parameters to deform the terrain in real time for various terrain features. 
 
     
     
       22. The method of  claim 21 , wherein the deformation of the terrain in real time includes enlarging landmass. 
     
     
       23. The method of  claim 1 , wherein the virtual world is a massively multiplayer online game (MMO), and
 wherein the textual representation of the plurality of procedural rules describing the dynamic aspect of the terrain in the MMO involves 
 specifying modifications to the terrain in the MMO as a result of events in the MMO. 
 
     
     
       24. The method of  claim 1 , wherein the virtual world is a massively multiplayer online game (MMO), and
 wherein the textual representation of the plurality of procedural rules describing the dynamic aspect of the terrain in the MMO involves real-time road generation including: 
 shading and flattening the terrain; 
 adding a shoulder to a road; and 
 feathering the shoulder to surrounding terrain so that the terrain transitions smoothly to the surrounding terrain.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.