This is really interesting and the demo rocks, any chance you could go into more detail such as data structures or when exactly a particular voxel is split into four? Btw I think layer 0 (directly surrounding the middle cube) is split into four voxels on the next layer in game.
Thank you for pointing me in the right direction Jordan! I avoided generating anything below say four layers above the core because I couldn’t think of a good way to handle it, and currently my blocks keep getting wider as distance from the core increases, but I think this is a pretty good system if you are going to generate voxel planets in this manner. I still don’t know how I feel about the larger blocks though, it seems a little strange to break in game.
Oh nevermind, I finally realized they aren’t cubes – they are actually subtle trapezoids but I had to look really carefully while playing. Now I get it 🙂 Slick job!
This is really interesting and the demo rocks, any chance you could go into more detail such as data structures or when exactly a particular voxel is split into four? Btw I think layer 0 (directly surrounding the middle cube) is split into four voxels on the next layer in game.
The block data is stored in 6 3d arrays, one for each side. The blocks will split if the block would be greater than 2m across.
Thank you for pointing me in the right direction Jordan! I avoided generating anything below say four layers above the core because I couldn’t think of a good way to handle it, and currently my blocks keep getting wider as distance from the core increases, but I think this is a pretty good system if you are going to generate voxel planets in this manner. I still don’t know how I feel about the larger blocks though, it seems a little strange to break in game.
I’m trying real hard to understand how this diagram maps onto the result I see in the demo but to no avail. Can anyone help a n00b out?
Oh nevermind, I finally realized they aren’t cubes – they are actually subtle trapezoids but I had to look really carefully while playing. Now I get it 🙂 Slick job!