This is the latest, and fully 3d version of my fracland program. I've ported it to full 3d graphics.

Once again, an old version is momentarily superior to the current one: I have two versions of this program right now. The older one allows you to explore the Mandelbrot set to a very great depth in full 3d, but it has black borders very close to the player that limit sight. The newer version allows you to see the entire mandelbrot set at once, but has depth problems that limit how far you can go. Very high precision numbers are yet to be implemented, but won't be nearly as important as graphical detail.
I don't consider the new version to be 'playable' yet, but it has some very nice features I'd like to show off. To keep it running at a high speed, it calculates higher-detail areas on the fly: When you first arrive on the fractal it will be covered with large blocky regions, which will melt into smoother curves before your eyes (CPU speed permitting). It still needs to add more polygons on steep slopes. The algorithm is not very smart yet, but soon it will focus on loading areas immediately around the player first, then calculating distant areas at the same time (instead of in small blocks). It already calculates only as deep as the player can make out detail at a distance, but it does not throw away detail it's already calculated once no longer needed. There are some optimizations for large blocks of the same color, but this program is a real memory hog.
I discovered fairly rapidly that the black border lurking around the edges will never go away. Because video cards don't support bignums (yet?), there will always be limits to the range that can be displayed, even if they are very, very high. This is disappointing, as I wanted a player who walked for an hour to still see the fractal's outer ridge. A tenative solution is to render things near the player as far as they'll go, and make more distant areas into a skybox using other rendering methods. I don't know how well this will work; maybe the fog will interfere with the skybox. Remains to be seen.
I'm working to add a Julia set to the sky, as well. Anywhere the player stands, they should be able to look up and see the Julia set that corresponds to their current location on the Mandelbrot fractal; kind of a bizarre map. This isn't a top priority, but more recent versions have a placeholder GIF in the sky that I nabbed from a texture tutorial.
Other things I'm considering: Trees. Fractal trees would really spruce up the landscape. They'd have to be randomly occurring, which would be simple on a normal grid-based game (calculate tree presence in a sector from the coordinates of the sector and some large primes), but how do you do that in a landscape where the volume of space changes? Sectors within sectors? Not sure, needs more research.
Old version, New version
Go back to the main page.