Terrain Erosion Demo
Senior School Project
Sept. 2020 - Dec. 2020
Last semester I was left with a hunger to learn about terrain generation methods after skimming some papers on it while deciding on a topic for a team research paper. Our team went to a different topic, but I still wanted to explore terrain generation. This semester's option of a solo project presented me with the fantastic opportunity to focus solely on learning about this fascinating subject and filling in the hole in my knowledge. The massive number of directions and methods with which one can create convincing landscapes is exciting, and working on this tech demo has been a ton of fun.
The heightmap generation and mesh generation was simple to learn, yet still took me some time to accomplish, given I had never stepped foot inside this discipline. Once I got the basics of the initial terrain generation working, I continued to polish it, adding a color palette editing tool, and more parameters to customize the generation, in order to ensure continuous viability. I wanted to make sure I still had a shippable product, even if I fell short moving forward into the more uncomfortable territory.
The more complex half of this project is the fluid and erosion simulation. The erosion simulation uses particle physics, simulating the movement of a water droplet as it moves across the heightmap, picking up and depositing sediment. When water comes to a rest, it accumulates into visible pools, and areas heavily trafficked by water droplets are rendered as rivers.
End User Experience
My goal with this project is to satisfy two perspectives of users. One is those who will not be downloading the application, and will be experiencing the content through screenshots, videos, and GIFs. For this user my goal is to create as visually appealing of a demo as possible, and ensure that the technical aspects of the simulation are clear through a short video capture. For the user who downloads the application, there are a plethora of generation and simulation parameters to play with in a user friendly display. This is targeted at the kind of player who likes simulation games.