1 / 17

Random Terrain Generation

Develop a tool for creating 2D elevation maps mimicking real terrains, offering diverse generation methods and file formats. Separate UI from machinery, allowing easy expansion and display of results.

torye
Download Presentation

Random Terrain Generation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. By Cliff DeKoker Random Terrain Generation

  2. 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

  3. 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

  4. Data structures • Height maps: 2-dimensional arrays. Each location in the array hold the height for the current position.

  5. Interface mockup

  6. System architecture

  7. Milestones • Complete simple generation • Complete file IO • Complete UI • -------------Extras • Complete texture generator • Work on more methods of generation

  8. 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

  9. Existing Solutions • Overwhelming number of algorithms and examples of terrain generation.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

More Related