if i store my world in 256x256x256 chunks right, and have a paletized 8 bit colour, that means a single plane of voxels 65536x65536 would take 16 gigs to store.
with an 8 bit x position, 8 bit y position, and 8 bit z position, and 8 bit colour.
65536x65536 of these.
so, this is way too big.
I was just about to give up, when I just realized, hey, what if i just store the world in slats of voxels on disk, then just store the 8 bit colour, then i could get it to around a quarter of the size!
So, my idea is for every 256x256x256 chunk, to store a flat plane instead of storing every individual voxel, i store a start position and an x length, y length and z length, and use the x and z lengths to make the plane instead of using points for every single location.
that means cube like shapes store really easily, but angled shapes sorta store in slits.
Could anyone take the compression further than this?
I realize I probably could then runlength encode the colour data too, or maybe even use some kind of lossy compression.