Update

Update: Erosion

Posted on

The erosion algorithm is showing signs of life. Here is the first time I’ve gotten water to flow to their natural pooling areas. I’m not sure if these are closer to lakes or rivers. My simulation isn’t very stable; right now all land surfaces eventually become covered in hundreds of meters of water. I need […]

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 […]

Science

Perlin and Simplex Noise

Posted on

This isn’t a tutorial on Perlin/simplex noise. I just want to clarify some of the terms you may encounter in a noise library or on blogs discussing noise. If you are looking for a tutorial, check out adrian’s soapbox from whom I borrowed the images in this post or Google around for others. Table of […]

Update

Update: Fault Upgrades

Posted on

I was cleaning up my tectonic plate and fault algorithm and got frustrated with several parts of it so I decided to redo much of it. That involved going all the way back to the Voronoi code and fixing a couple of longstanding bugs, improving and generalizing some floodfill/breadth-first-search functions and rasterization functions, and reimplementing […]

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.” Table of Contents Pre-Entity World GenPost-Entity World GenThe Other StuffThe Plan 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 […]

Update

Rendering

Posted on

I’ve been generalizing my renderer so I can display color maps of all the tile properties I’m generating instead of just the elevations. I thought I’d post some of the color maps that were generated while I tried to figure out better-looking color coding. It always takes a more time than I expect to find […]