I am working on a project that procedurally generates a navigable "planet" that can be seen from far away (i.e: without any visible "terrain"/height difference. This would simply show water and land) or close up (exploring the planet from a person's view as opposed to a "spacecraft's" view i.e: actually seeing the height difference in hills and valleys). For this I was wondering if I should use 2D or 3D noise as I've seen both on various sites. I was also wondering whether I should use simplex or Perlin noise. I know the uses but will the loading time difference be that severe or should I just stick with Perlin noise? Thanks in advance. Also, less importantly, how would I go about implementing the output into JavaFX?
Asked
Active
Viewed 2,267 times
2
-
Just to make your choice even harder, there's also Fractal Brownian Motion - check out this [tutorial](http://www.gamasutra.com/view/feature/131507/a_realtime_procedural_universe_.php?page=2) on Gamasutra for making procedural planets. The author uses 3D noise there, and gives some pros and cons of 2D vs 3D. – Andrew Williamson Feb 18 '16 at 17:12
-
It says that it uses Perlin noise. I assume this means Perlin noise is the way to go? – Fool Feb 18 '16 at 17:30
-
Yes, to follow the tutorial you would use Perlin. This is not the only way to go, but it is a start. Once you get it working, you can switch it to another noise function and see what you think of it. – Andrew Williamson Feb 18 '16 at 19:17
-
He uses OpenGL as the rendering software. Would you recommend this and how do I get it installed (I can't find anything)? – Fool Feb 18 '16 at 19:24
-
OpenGL is normally already installed on your computer. To use it with Java, try [LWJGL](https://www.lwjgl.org/). – Andrew Williamson Feb 18 '16 at 19:26
-
As for output, that depends a lot on what you want; "exploring the planet" is pretty vague. Is this meant to be a real time FPS game? Click & point education simulation? – Pikalek Feb 19 '16 at 02:52
-
@Pikalek It should be a first person exploration type of game such as this: https://www.youtube.com/watch?v=rt6SYThgV24 – Fool Feb 23 '16 at 04:20
1 Answers
6
By definition, a 2D generator gives a value for every X,Y coordinate input, whereas a 3D generator does the same for every X,Y,Z coordinate. If you're only interested in generating a height map to wrap around the sphere, use 2D. If you need something that generates values for the interior (caves, mineral composition, etc) then use 3D.
This SO entry on Simplex versus Perlin noise covers a number of pros & cons of each.