Random Terrain Generation By Cliff DeKoker. About my project ● Incremental development ● Focus on creating height maps that mimic real terrain ● Allow.

Slides:



Advertisements
Similar presentations
Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
Advertisements

Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
TECHNICAL POSTER Quentin Bloomfield, Keegan Donnelly, Jacob Grealy, Zach Knickerbocker, Nate Niederkorn, Sean Peck Department of Computer Science and Engineering.
The Assembly Language Level
LOAD BALANCING IN A CENTRALIZED DISTRIBUTED SYSTEM BY ANILA JAGANNATHAM ELENA HARRIS.
Naive Vector Clocks and Singhal & Kshemkalyani's Vector Clocks Presented by: :: Abdulkareem Alali ::
CSE 380 – Computer Game Programming Pathfinding AI
Algorithms Today we will look at: what we mean by efficiency in programs why efficiency matters what causes programs to be inefficient? will one algorithm.
How (Not) to Use a Semi-automated Clustering Tool Kat Hagedorn University of Michigan April 11, 2006.
Query Evaluation. An SQL query and its RA equiv. Employees (sin INT, ename VARCHAR(20), rating INT, age REAL) Maintenances (sin INT, planeId INT, day.
Memory Management Norman White Stern School of Business.
© University of Minnesota Data Mining for the Discovery of Ocean Climate Indices 1 CSci 8980: Data Mining (Fall 2002) Vipin Kumar Army High Performance.
© 2006 Pearson Addison-Wesley. All rights reserved13 A-1 Chapter 13 Hash Tables.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
BY CHRIS ANDERSON Creating a MIDI Generator Program.
Real-time Crowd Movement On Large Scale Terrains Speaker: Alvin Date:4/26/2004From:TPCG03.
Procedural Content Generation Prof. Roger Crawfis Computer Science and Engineering The Ohio State University
IMPROVING THE PERFORMANCE OF JPEG-LS Michael Syme Supervisor: Dr. Peter Tischer.
Contour lines. Contour lines: curved lines drawn on the map, connecting points having the same elevation.
A Simple, Efficient Method for Realistic Animation of Clouds Yoshinori Dobashi Kazufumi Kaneda Hideo Yamashita Tsuyoshi Okita Tomoyuki Nishita SIGGRAPH.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Mozart’s Dice Game Plays randomised bars of music based on dice rolls From the 18 th century, possibly by Mozart Procedural means taking random input.
Guilford County Sci Vis V204.01
Spatial data models (types)
Animations By Georgia Waldram-Higham. CGI-(Computer generated imagery) Computer-generated imagery (CGI) is the application of computer graphics to create.
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean Hall 5409 T-R 10:30am – 11:50am.
10/21/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Terrain Dynamic LOD.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler Heather Jeffcott Craig Post Deborah Lee.
Offline Performance Monitoring for Linux Abhishek Shukla.
CS333 Intro to Operating Systems Jonathan Walpole.
1 Landscape Generation with L-Systems By: David Cole Supervisor: Jon McCormack.
Wes Marshall, P.E. University of Connecticut March 2007
Computer Graphics Texture Mapping
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Othello Artificial Intelligence With Machine Learning
Main Goal Development of an application that allows flying virtually over El Hierro Island (Canary Islands), showing the building structures of a hydroelectric.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Terrain Synthesis by Digital Elevation Models Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg
Art 315 Lecture 6 Dr. J. Parker. Variables Variables are one of a few key concepts in programming that must be understood. Many engineering/cs students.
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (continued) Advanced Implementation of Tables.
Operating Systems Process Management.
Created By: Kevin Jiang, Cullen Wong, Stephen Halter.
Artificial Intelligence in Game Design Content Generation.
Copyright © 2010 – MICS 2010, Curt Hill Instructor Tools: Test Data Generation Curt Hill Valley City State University.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
Research Experience Daniel Fregosi Summer 2006 UNCC Visualization Center.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Applications of Genetic Algorithms TJHSST Computer Systems Lab By Mary Linnell.
Random Map Generation and Transport Unit AI for Strategy Games By Russell Kuchar.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
CS324e - Elements of Graphics and Visualization Fractals and 3D Landscapes.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
Game Programming, Math and the Real World Rolf Lakaemper, CIS, Temple University.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Playing with Sprites. XNA Game Lifecycle In the faceBall demo program we bounced a smiley face around the graphical display against a background image.
General requirements for BES III offline & EF selection software Weidong Li.
FACTS Placement Optimization For Multi-Line Contignecies Josh Wilkerson November 30, 2005.
Introduction Imagine the process for testing a new design for a propulsion system on the International Space Station. The project engineers wouldn’t perform.
Terrain Generator Done by Manoo Gharse Vanessa Ferrao Karl Fernandes Rohit Arondekar Amruta Kunkolienkar.
As a general rule you should be using multiple languages these days (except for Java)
Practice Chapter Four.
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Simple Erosion Model Made by Jeffrey Smith
CSE 381 – Advanced Game Programming Terrain
Midpoint Displacement for Terrain
Building Fractal Landscapes
Applications of Genetic Algorithms TJHSST Computer Systems Lab
A Visualization System for Tidal Basins
Presentation transcript:

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.