3D Randomly Generated World

Inspired by The Fog - Survive, State of Fortune, Far Sky, and many others, I have created a 3d randomly generated world using simplex noise in a couple days. All you can do right now is walk(or fly) around and generate new terrain. Current frame rate for me is ~90 230 1500 fps limited to 60fps! I am curious as to what others are getting.

[Controls]
LMB/RMB - grab/release mouse cursor
WASD - movement
E - toggle flying
Q - fly supersonic
R - reload world with current settings
L; - decrease or increase persistence
,. - decrease or increase the largest feature
[] - decrease or increase the view distance
nm - decrease or increase the water quality
jk - decrease or increase the water wave height
CTRL - zoom
ESC - quit
LSHIFT - slow walking

Current Version: 0.0.5.2
[Download]

[Latest Update]

  • Water!
  • Performance greatly improved
  • You can now launch directly from data/launch_direct
  • VSync option in the launcher
  • Increased available display dimensions

[Known Bugs]

  • Collision mesh is buggy in negative coordinates
  • Screenshots don’t take the whole screen in fullscreen mode unless you explicitly change the dimensions

Please tell me about bugs that you find!

[Update 0.0.5.3 DEV]

-RdZxfQ3i6s

Any criticism or feedback is much appreciated. :smiley:

[V0.0.2]
-Major Performance improvement
-Now normals are calculated only once per vertex (removes some artifacts)
-Chunk loading system (very large maps now possible)

I had a bit of a blast in it, I found it to be very smooth!

I really like the texture you’ve got going on for the grass, it makes it seem nicer than a lot of grass textures you see around.
It kinda reminded me of this:

http://5-9-242-89.cinfuserver.com/thumbs/windows_xp_bliss-t2.jpg

Although, I found that when I looked as far down as I could, the world starting glitching a bit.

I think you forgot something about linux with the natives.

@NegativeZero Yes, that’s the picture I thought of too :wink: I’m trying to fix the camera issue, I just need to limit how far you can look down because when you get past looking straight down, your view flips and it glitches around.

@Wessles
Try to download again. I updated lwjgl and the natives. I also grouped all the natives in a single folder.

Unfortunately, still the same error :frowning:

@Wessles That’s strange, I’m loading the natives directly with this code:

    	final String userDir = System.getProperty("user.dir");
    	final String nativeLibDir = userDir + File.separator + "native";
    	System.setProperty("org.lwjgl.librarypath", nativeLibDir);

Edit: That’s strange, now I can’t run the jar on windows. Same error. (It runs in eclipse though)

Ok, try one more time. If this doesn’t work, then I don’t have any idea on how to fix it.

Wait, why are you setting the natives path to the “user.dir” directory? That refers to the user directory in the file system, not where the jar is located.

It seems to work fine for me, wherever I put the jar.

C:\Users\Longarmx\Documents\workspace\Simplex Noise\native\windows\

Is there a different property I should use?

Sorry, read a bit fast; “user.dir” is the property to use, but on OS X it fails:

java.lang.UnsatisfiedLinkError: Can't load library: /Users/simn/native/macosx//liblwjgl.dylib

It seems like the JVM gets run from /Users/user in OS X no matter what (that leads to every path from the directory of the jar to be referred to the home directory). I advice you to use JarSplice or place the natives at a temporary directory like “java.io.tmpdir” and load them from there.

Sorry about that. It seems that the smallest of errors get past me (double file separator). Try the download again. Hopefully I’ll eventually get this right :wink:

Lol, just totally forget what I said. :stuck_out_tongue:

When I do:

java -jar /Users/simn/Downloads/3D\ World/3D\ World.jar

It starts the JVM from /Users because that’s the current directory I’m inside.

When I do:

cd /Users/simn/Downloads/3D\ World

And then do:

 java -jar 3D\ World.jar

It starts the JVM from that directory and “user.dir” refers to that directory. :smiley: (I feel so stupid now).

I only get an error saying that the shader version 330 is not supported, did you forget to create the display with the core profile enabled?

When I create the display with core profile enabled (version 3.2), I just get a blank screen.

Hmm, that could be anything… :stuck_out_tongue:

Try to make a small OpenGL application and see if it works, it’s for sure a small problem somewhere.

Simn, what OpenGL version do you have? This application requires V3.3

I have support for 4.1 and minor.

Okay Simn, I got core profile enabled. Apparently you can’t call glEnable(GL_TEXTURE_2D) :stuck_out_tongue: Hopefully it works this time.

[Version 0.0.2.4]
-Reorganized engine so it is loading correct natives
-Core profile enabled with opengl version 3.3

Same errors. I would suggest the following:

  • Start over on the .jar file
  • Use a fat .jar creator
  • Profit

-wes