Back in high school I created worlds. My parents had gotten me Vue, a procedural environment rendering program. Over a year I learned procedural texturing and developed my own algorithms for generating (what felt to me) like photo-realistic planets. I submitted my works to the Texas TSA art competition, won a few categories, and then mostly forgot about it when I began college.

One of my favorite high school pieces. I cheated on the clouds – it’s actually a cloud map from NOAA that I used as a cloud layer – not a real simulation.

A couple years ago I picked Vue back up and tried again. This time, I found the program too limiting – even though it has far more features now (including a Python scripting engine!). Mainly – I can’t run simulations on textures within Vue. At least, not efficiently.

A few weeks ago I returned with a different approach – this time I would write my own software for generating and simulating the worlds. And I’d use Go since it’s what we write Kubernetes in. I’ve done a fair bit of work, and now with my Google Copyright Waiver in-hand, I can open source the project.

At some point I’ll scope out what all features I want to implement, but these few should keep me for months. As I develop features, when it strikes my fancy I’ll write about the things I found interesting along the way.

  • Fractal noise generation
  • Hydrology (incl. erosion)
  • Weather (incl. clouds)
  • Climate
  • Tectonics

So here goes. I call it WorldProc.

Leave a Reply