So I think I’ve finally gotten the terraforming algorithm for Feralor to an acceptable level. You can have a look and see how far it’s come.
I did complete converting libnoise to PEAR, but it turned out to be incredibly slow, so I actually went a different PECL path: I created a Feralor PECL extension that handles all of the interfacing with libnoise (and eventually other C and C++ libraries too, most likely). This hybrid method seems to work well: I can do all the fancy C++ object stuff and still return data to PHP in a sensible way.
I still have one area that needs work: presently, I’m using the noiseutils library that comes with libnoise to generate map images, but correlating the apparent elevations from an image generated that way to individual calls to the elevation object’s GetValue function turns out to be a bit difficult (and anyhow, the noiseutils image generation routines don’t deal with saturation data, so the whole world is green rather than having some deserts). So, I’ll be re-writing that part of the library this weekend hopefully – but that should be absolute cake compared to everything else that’s happened so far.
Yay progress!
