• Advertisement
Sign in to follow this  

Any good sources for Voxel Planets?

This topic is 595 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This might need to be somewhere else, but I think it can be relevant here.

 

I am looking into creating voxel planets similar to No Man's Sky (c)(tm).....

 

I like the idea, but am disappointed in the scale of the planets. They are about 1/10th the diameter of Earth (or maybe even less). I had played around with the idea but thought it would be impractical with accurately scaled planets. Now I'm interested again.

 

Does anyone know a good source of learning for how to make a voxel planet? LOD is a MUST-- perhaps a quadtree approach....

 

Share this post


Link to post
Share on other sites
Advertisement

Well, I don't know about making something truly "earth-sized".. when making a renderer/game I always  take into consideration practicality first... I ask "what can I do within some basic limits?"

 

For the planet game I'm working on now, I'm setting the planet diameter to about 131072 units cubed. I figure my character is  6 units tall, so if a unit is about one foot... we have a diameter of approx. 6.65 kilometers... obviously not very big compared to a real planet...

 

Of course, using some trickery you could do something much bigger..but think, what do you need all that space for anyway? Unless you're trying to do a realistic simulation, I think something small is much more manageable for a game.. and can still look good.

 

Currently I'm building this into an existing engine which supports an adaptive binary tree which is very fast and can manage a lot of objects. Otherwise If I was coding from scratch I'd probably just use a basic octree to organize data. I break the planet into a bunch of cubic chunks, each one is really a dummy entity most of the time...it only gets filled with voxel data when I am going to construct the chunk mesh using marching cubes... this means I only have to store voxel data for one chunk at a time saving memory. This is possible if you generate noise on-the-fly.

 

I don't have any real LOD right now besides the basic notion of limiting the amount of visible chunks out to a certain distance from the camera. Each chunk itself is currently a 16x16x16 block of voxels. The rest of the visible planet can be rendered as a simple displaced sphere at far distances....you lose the 3d noise effect on that but this is not so noticeable at long distances, especially if you use atmosphere to hide the transition a bit.

 

However, I'm am right now trying to work out if I can do other kinds of LOD, like different mesh resolutions based on distance. I should note I'm using DX 9, so there are no geometry shaders etc.  If you are using DX 11 you can do a lot more on the hardware.

 

 

 

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

I'm making an RPG on top of a sim. It's all from scratch. I am currently using a quadtree on a spherefied cube. The detail is acceptable but I was wanting to see if it could be done using voxels....

 

This game will feature realistically sized planets around the 30,000 closest stars to Sol. Each planet is procedurally generated. The player will be able to land anywhere on any planet. Gas giants will crush the player's ship, but they can "land". This gives the player a vast amount of space to explore when they aren't following a mission while at the same time hiding main quest locations from the player so he doesn't (likely) stumble across something out of context. So there are no "points of interest"-- the player either knows where to go or doesn't.

 

The solar systems and star distances are realistic too. Each unit in a solar system is equal to 1meter. Each unit on a planet is equal to 1meter. The only difference is that I used a different scale for the galaxy for simplicity. I could have used the same scale as the rest, but I figured it wasn't needed in this game.

 

So, you're not using ANY LOD?

Share this post


Link to post
Share on other sites

Dave, I've seen that blog before when it wasn't so advanced. It still doesn't have any detailed explanation on "how". I'm also not interested in buying it, I want to make it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement