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.
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)
So here goes. I call it WorldProc.