Uncategorized

Climate 3: Insolation and Black-Body Radiation

Posted on

The only way for energy to enter or leave my climate simulation is through radiation. As is discussed more formally below, energy enters via solar radiation, and energy leaves via black-body radiation. I’m starting with this because these two phenomena drive the entire climate system. Without them, winds and weather can’t exist. With only radiation, […]

Arc 0

Climate 2: Rivers and Erosion

Posted on

I’m doing this a little out of order. Why groundwater and erosion first? Modeling the water layer on and in the ground is an isolated section of climate simulation. Whereas the air modeling has interdependent parts (radiation, convection, etc.), the groundwater system is self-contained except for precipitation and evaporation. I can easily implement a dummy […]

Arc 0

Climate 1: Climate Simulation for the Computationally Limited (Research and Overview)

Posted on

Unlike plate tectonics, computational climate simulation has an enormous body of research because of modern meteorology. Although we often we joke about incorrect weather forecasts, it’s pretty amazing how accurately we can model the entire atmosphere days in advance.  With climate simulation we have the opposite problem. Modern Global Climate Models are so detailed that it’s […]

Arc 0

Terrain Generation 5: Fault Features

Posted on

In my last post, I worked on making tectonic plates and smooth elevation transitions between plates, coasts, continents, and continental shelves. In this post, I’ll add additional fault features such as mountains and rifts. Also if you’re puzzled by any of my not-very-scientific plate tectonics, check out my post on Tectonic Plates. Fault Feature Algorithm Overview […]

Arc 0

Terrain Generation 4: Plates, Continents, Coasts

Posted on

Note: This post and the next will reference the faults and plate tectonics described in my tectonic research post. I’ll also assume you know the basics of simplex noise. I posted a quick rundown of some noise terms earlier. Mountain formation from faults involves some pretty complicated 3D physics. This video starting at 1:28 has a […]

Update

Trying Out Rendering Methods

Posted on

I’ve been struggling with rendering my heightmaps for a while now. My last Update post was more or less venting about how I wasn’t sure whether to attribute flaws and improvements in my heightmaps to my actual heightmaps or the color schemes I was using to render them. Whenever I code a new feature, I […]

Arc 0

Terrain Generation 3: Voronoi Diagrams

Posted on

I decided to use Voronoi cells to model tectonic plates. Let me clarify that I am generating one Voronoi cell per tectonic plate. I am not using Voronoi cells as polygonal map tiles as Amit Patel did in his polygonal map generator. I am generating a small number of large Voronoi cells as tectonic plates, […]

Arc 0

Terrain Generation 2: Tectonic Plate Science

Posted on

When I began researching tectonic plates, the first thing I learned was how little we know about them. It seems the main cause of our lack of understanding is that we simply can’t see tectonic plates. I find it strange and amusing that we can travel all over the world in hours, and we’ve reached […]

Arc 0

Terrain Generation 1: Introduction

Posted on

Where should I start? There are many, many approaches to procedurally generating terrain. Terrain generation is the classic introductory exercise into procedural generation, or as it is sometimes called, “Hello, Perlin.” It is straightforward (the simpler algorithms, at least), and the visual results are easy to assess. Thus it’s been used in everything from fantasy […]

Arc 0

Arc 0: Pre-Entity World Gen

Posted on

This project naturally separates into three general stages: pre-entity world gen, entity world gen, and “in game.” Pre-Entity World Gen Pre-Entity World Gen encompasses everything that occurs on a very long time scale, from billions to tens of thousands of years. This primarily comprises terrain generation and long term climate simulation. This section isn’t very […]