Upload
darren-flowers
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Random Terrain Generation
By Cliff DeKoker
About my project
● Incremental development● Focus on creating height maps that mimic
real terrain● Allow for expansion in terms of file
formatting, methods of generation● Allow for separation of UI and underlying
machinery
My project should be able to
● Generate 2D elevation maps with a somewhat realistic appearance
● Use 3 different kinds of generation.● Use modules that specify different file
formats for saving and loading● Display what has been created
Data structures
● Height maps: 2-dimensional arrays. Each location in the array hold the height for the current position.
Interface mockup
System architecture
Milestones
● Complete simple generation● Complete file IO● Complete UI● -------------Extras● Complete texture generator● Work on more methods of generation
Intro to terrain generation
● Games (SimCity, Civilization, etc)● Simulations (Simulate erosion, changes to
terrain over time, meteor impacts)● Computer aided art programs (Bryce)● Movies ● Dozens of algorithms for doing this
depending on criteria
Existing Solutions
● Overwhelming number of algorithms and examples of terrain generation.
Generation by subdivision
● Start at the four corners of a rectangular map● Pick random heights for each corner● Find midpoints for each pair of neighbouring
points, and then assign a height value to each midpoint. Also known as tessellation
● A version of this is called the Diamond-Square algorithm
● Results: very nice looking terrain that is rough, but not too random.
Generation by averaging
● Start with a 2-dimensional array● Assign a random height value to each point● Set the value at each point to the average of
the original value and surrounding values● Determine some key values to determine
what kind of terrain you have generated● Results: Can be rather noisy looking without
running through a lot of averaging. Too much averaging makes very flat terrain. At least the algorithm is simple.
Generation by simulation
● This method is typically memory and computationally expensive.
● Earth is shaped by (but not exclusively): water, plate tectonics, wind, meteors.
● For a simplified version, you could focus mainly on water.
● Results: can be difficult to simulate all the effects that alter terrain at the same time. Works fine for a small scale area. IE: water carving through a valley.
Conclusion
● Ultimately, you should strive to find a balance between the amount of time you want to take to generate and the quality of the results you are looking for.