Full screen version here. Click to regenerate, space to pause, right arrow to fast-forward.

I’m using a 2D midpoint displacement algorithm (aka the Diamond-square algorithm) to generate the terrain. If you’re interested in learning how the algorithm works, definitely check out my source code. It’s not perfectly clean, but understandable enough!