You had mentioned that tree parts would know where other tree parts are, and also that flowing water would know where upstream and downstream is. Is this information also embedded in the octree structure or somewhere else?
That would be part of the Blocks themselves, unlike Minecraft Block Data will be able to be created on the fly.
When you say block data is part of the Blocks themselves, but not embedded in the planet’s octree, what exactly are these “Blocks”? Are we talking about one block object somewhere in memory/page files per 0.25m3 cube on the planet? Is it one block object per cube split up into multiple components across memory/page files? I can guess but it is probably better to ask, how does the game engine associate voxel data (position, color) with “Block Data” (direction of water flow, adjacent tree parts, etc)?
With not embedded in the Octree I mean the Octree only knows the index or pointer of the Block at each position. If something on a Block is changed, it will just make a new Block with the Stats of the old Block, and then add the changed Stat to the new Block Stats. And if that happens to make the Block identical to another Block that already exists somewhere in the World, it would use that Blocks Data instead. (that would work like a hashtable or similar)
Procedural controls, instead of being told ‘press space to jump’ it just says ‘JUMP’ and maps whatever you push.
You would be surprised how the intitial set controls can be defined, if you dont choose the default. XD
I do plan for the Tutorial to only show off the Controls that you should know about, and then let you set whichever Button you want to be what, and how you want to press it, so you dont have to go into the Options Menu.
Okay, so for example if you have fifteen identical trees, then fifteen leaf nodes in the octree correspond to the bottom of a tree. In turn, each of those nodes points to a single block object which says “I’m the bottom of a tree”.
And so the maximum number of block objects which may have to exist is equal to the maximum number of permutations of valid block data, correct?
Not even, each block just needs to point in one of 6 directions, the rest can be done by chaining. Though pointing to a specific Center of Tree Coordinate would work too, and might be faster depending on Situation, especially for large Trees.
Some things really need testing to be figured out in the best way possible.
If you can get that to work, that’s great. But another option if the transition proves too difficult is to use the outer boundary of the atmosphere as a wall of fog when you break through. That way the observer in space sees the baked model planet while the observer on the planet sees a baked skydome. See for example the beginning of this clip: https://youtu.be/71XGAbjfn4Q?t=116