IP Library Granted Patent US 8,115,765
Granted Patent B2
US 8,115,765 · App. 10/877,515 · Granted Feb 14, 2012

Rule-based procedural terrain generation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,115,765
App. No.
10/877,515
Granted
Feb 14, 2012
Kind
B2
Abstract

Disclosed are systems and methods for rule-based procedural generation of terrain in real time for a virtual world. 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 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 memory allocation and deallocation.

Claims (125)

1. A non-transitory computer readable medium including a computer-implemented system for generating terrain in a virtual world, the system comprising:

a plurality of procedural rules configured to generate a virtual terrain in the virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries, filters, and affectors; and

a terrain generator configured to process the plurality of procedural rules so as to generate a virtual representation of the terrain,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

2. The computer readable medium of claim 1 , further comprising

a module for displaying the generated virtual representation of the terrain in multiplayer computer games.

3. The computer readable medium of claim 1 , wherein at least one of the procedural rules define a region in the virtual world.

4. The computer readable medium of claim 1 , wherein each boundary of said boundaries defines a region for which the procedural rule has effect.

5. The computer readable medium of claim 4 , wherein said each boundary is one of:

circles, rectangles, and polygons.

6. The computer readable medium of claim 1 , each filter of said filters defines one or more conditions to be satisfied before applying the procedural rule.

7. The computer readable medium of claim 6 , wherein said each filter is one of:

slope, height, shader, direction and fractal.

8. The computer readable medium of claim 1 , wherein each affector of said affectors affects a terrain property that is one of

height, color, shader, flora, and radial flora.

9. The computer readable medium of claim 1 , wherein the virtual representation of the terrain is generated in real time according to the plurality of procedural rules.

10. The computer readable medium of claim 1 , wherein a portion of the terrain generation is performed on a server and another portion of the terrain generation is performed on a client computer.

11. A method of generating terrain in a virtual world, the method comprising:

receiving a plurality of procedural rules that define the terrain in the virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries, filters, and affectors; and

generating, in a terrain generator using a processor, the virtual terrain in accordance with the plurality of procedural rules,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the virtual terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

12. The method of claim 11 , additionally comprising

displaying the generated virtual terrain.

13. The method of claim 11 , wherein the boundary influence computation includes blending a boundary using an influence value.

14. The method of claim 13 , wherein said blending a boundary includes keeping a largest influence value.

15. The method of claim 11 , wherein each filter of said filters defines one or more conditions to be satisfied before applying the procedural rule.

16. The method of claim 15 , wherein said each filter is one of:

slope, height, shader, direction and fractal.

17. The method of claim 11 , wherein each affector of said affectors affects a terrain property that is one of:

height, color, shader, flora, and radial flora.

18. A non-transitory computer readable medium including a computer-implemented system for generating terrain in a virtual world, the system comprising:

means for receiving a plurality of procedural rules that define the terrain in a virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries, filters, and affectors; and

means for generating the terrain in the virtual world in accordance with the plurality of procedural rules,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

19. The computer readable medium of claim 18 , additionally comprising

means for displaying the generated virtual terrain.

20. The computer readable medium of claim 18 , wherein the computer-implemented system further includes

a first profiler configured to provide analysis of rules on a per-rule basis to determine which hierarchical layers are taking the most time with regard to terrain generation and to allow users to optimize the rules.

21. The computer readable medium of claim 20 , wherein the computer-implemented system further includes

a second profiler configured to inform the users how efficiently the system is rendering the terrain.

22. The computer readable medium of claim 18 , wherein each filter of said filters defines one or more conditions to be satisfied before applying the procedural rule.

23. The computer readable medium of claim 22 , wherein said each filter is one of:

slope, height, shader, direction and fractal.

24. The computer readable medium of claim 18 , wherein each affector of said affectors affects a terrain property that is one of:

height, color, shader, flora, and radial flora.

25. A program storage device storing instructions that when executed perform the method comprising:

receiving a plurality of procedural rules that define the terrain in a virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries, filters, and affectors; and

generating virtual terrain in the virtual world in accordance with the plurality of procedural rules,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the virtual terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

26. The program storage device of claim 25 , additionally comprising

displaying the generated virtual terrain.

27. The program storage device of claim 25 , wherein each boundary of said boundaries defines a region for which the procedural rule has effect.

28. The program storage device of claim 27 , wherein said each boundary is one of:

circles, rectangles, and polygons.

29. The program storage device of claim 25 , wherein each filter of said filters defines one or more conditions to be satisfied before applying the procedural rule.

30. The program storage device of claim 29 , wherein said each filter is one of:

slope, height, shader, direction and fractal.

31. The program storage device of claim 25 , wherein each affector of said affectors affects a terrain property that is one of:

height, color, shader, flora, and radial flora.

32. A method of generating terrain in a virtual world, the method comprising:

receiving at least one procedural rule that defines a road in the virtual world,

wherein said at least one procedural rule is organized into hierarchical layers such that a single location in the road can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries filters, and affectors; and

generating, in accordance with the procedural rule using a processor, the road in the virtual world,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

wherein said at least one procedural rule is textually represented so that the boundaries, filters, and affectors are assigned numeric values that represent desired attributes in a logical, textual format, and

wherein the road is modified by adding or deleting at least one rule from said at least one procedural rule.

33. The method of claim 32 , wherein the procedural rule defines a plurality of points in the virtual world where the road is positioned.

34. The method of claim 32 , wherein the procedural rule defines a shoulder width.

35. The method of claim 32 , wherein the height of a shoulder of the road is determined based upon the height of the road in the virtual world and the height of the virtual terrain proximate to the road.

36. A method of generating terrain in a virtual world, the method comprising:

receiving a plurality of procedural rules that define a river in the virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the river can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries filters, and affectors; and

generating, in accordance with the plurality of procedural rules using a processor, the river in the virtual world,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the river is modified by adding or deleting at least one rule from the plurality of procedural rules.

37. The method of claim 36 , wherein the procedural rule defines a plurality of points in the virtual world where the river is positioned.

38. A method of generating terrain in a virtual world, the method comprising:

receiving a plurality of procedural rules that define flora in the virtual world,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the flora can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries filters, and affectors;

identifying a user-defined area around an avatar in the virtual world; and

generating, in accordance with the plurality of procedural rules using a processor, the flora in the predefined area,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the flora is modified by adding or deleting at least one rule from the plurality of procedural rules.

39. The method of claim 38 , additionally comprising:

determining a flora density;

identifying locations within the user-defined area as flora locations; and

during movement of the avatar, identifying new flora locations based upon the identified locations.

40. A method of generating terrain in a virtual world, the method comprising:

monitoring an action that occurs in a virtual world;

generating, in response to monitoring the action that is performed by an avatar, a procedural rule that defines the terrain in the virtual world,

wherein said procedural rule is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries filters, and affectors; and

generating, in accordance with the generated procedural rule using a processor, terrain in the virtual world,

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

wherein the plurality of generated 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, and

wherein the terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

41. The method of claim 40 , wherein the monitored action comprises

an action of a non-player character in the virtual world.

42. A non-transitory computer readable medium including computer environment for generating terrain in a virtual world, the computer environment comprising:

one or more programs executed by the computer environment configured to generate terrain and display terrain in real time using a plurality of procedural rules,

wherein said plurality of procedural rules is organized into hierarchical layers such that a single location in the terrain can have multiple procedural rules that overlap and the terrain has at least one location that has overlapping rules, each hierarchical layer defining boundaries, filters, and affectors, and

wherein when multiple procedural rules overlap the terrain generator specifies a blend region and initiates a boundary influence computation to blend heights and colors to prevent hard, visible discontinuities at the overlap of the procedural rules,

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, and

wherein the terrain is modified by adding or deleting at least one rule from the plurality of procedural rules.

43. The computer readable medium of claim 42 , wherein each boundary of said boundaries defines a region for which the procedural rule has effect.

44. The computer readable medium of claim 43 , wherein said each boundary is one of:

circles, rectangles, and polygons.

45. The computer readable medium of claim 42 , wherein each filter of said filters defines one or more conditions to be satisfied before applying the procedural rule.

46. The computer readable medium of claim 45 , wherein said each filter is one of:

slope, height, shader, direction and fractal.

47. The computer readable medium of claim 42 , wherein each affector of said affectors affects a terrain property that is one of:

height, color, shader, flora, and radial flora.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Jul 27, 2021
From: CIBC BANK USA, AS ADMINISTRATIVE AGENT
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 056982/0415 →
SECURITY INTEREST Recorded Jul 3, 2019
From: DAYBREAK GAME COMPANY LLC
To: CIBC BANK USA, AS ADMINISTRATIVE AGENT
Reel/Frame 049666/0514 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2019
From: HERITAGE BANK OF COMMERCE
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 049133/0907 →
SECURITY INTEREST Recorded Oct 11, 2018
From: DAYBREAK GAME COMPANY LLC
To: HERITAGE BANK OF COMMERCE
Reel/Frame 047865/0657 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2018
From: HERITAGE BANK OF COMMERCE
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 046531/0242 →
SECURITY INTEREST Recorded May 12, 2016
From: DAYBREAK GAME COMPANY LLC
To: HERITAGE BANK OF COMMERCE
Reel/Frame 038567/0306 →
CHANGE OF NAME Recorded Mar 24, 2015
From: SONY ONLINE ENTERTAINMENT LLC
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 035276/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2006
From: SONY ONLINE ENTERTAINMENT HOLDINGS INC.
To: SONY ONLINE ENTERTAINMENT LLC
Reel/Frame 018370/0887 →
CHANGE OF NAME Recorded Apr 27, 2006
From: SONY ONLINE ENTERTAINMENT INC.
To: SONY ONLINE ENTERTAINMENT HOLDINGS INC.
Reel/Frame 017540/0617 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2004
From: SOMMERS, ANTHONY L.
To: SONY ONLINE ENTERTAINMENT INC.
Reel/Frame 015269/0671 →