Perlin Hunter is nowSimion's Search 3Why the name change?I decided that since I'm the sole developer of this new search algorithm, I might as well name it after myself.
Additionally there were several iterations of Perlin Hunter behind the scenes -- technically speaking, the current code would be considered to be Perlin Hunter
4, not 3.
About The Algorithm:I've redesigned the logic and completely revamped the tile handling so that it is now impossible for the algorithm to fail when generating a level from scratch.
What does this mean? Well, for example, it will now be possible to provide fill-in solutions for partial level grids - if the algorithm fails doing a partial fill, it means your tiles do not match up properly. Another capability of the algorithm is that I will be able to design extra layers of code that calculate levels based on platform pattern recognition, but only once I have researched and developed such features.
--------------------------------------------------
The outputs for this version of Perlin Hunter are not really all that different from the old version, just that it is impossible to have the search fail.
So hopefully I don't need to provide any generated level PNGs here.
Oh, and the algorithm is reasonably fast but is still not quite as quick as the old Perlin Hunter 3 code - the extra steps required to make failures impossible adds some extra time to the computations.
I've already got the new code set up with seeded randomness based on a running SHA256 buffer that provides well-rounded random numbers for the selection code.
I'll be working on optimizing this new version over the course of time and will begin researching level layout pattern recognition stuff.