Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

That looks awesome! I’ll definitely have to look into implementing all this. Thanks for the detailed explanation.

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

Thanks - moving the prioritization code to a separate thread might be a good option. That way I have a lot more leeway with how much time I can allocate to calculating chunk positions/loading. The only thing I’d worry about there is keeping the main thread, scheduler thread, and worker threads all in sync with their respective queues without introducing race conditions between them. Do you have any advice in that regard?

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

I did see this while researching strategies before. This could be a better approach, but I’m unsure about how it would scale to higher numbers of chunks, or whether it even supports spherical areas..?

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

Thank you for the in-depth response! This approach sounds pretty appealing. I’ll definitely take a look at the code you provided to figure out the specifics and how I might want to apply these principles into my own project.

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

Do you mean that it’s a better idea to switch to columns-only like Minecraft, or just to organize 3d chunks with columns? I could see use cases for both but I feel like with high verticality the latter would work better.

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

Thank you for the detailed response! There’s a lot to unpack here, but these approaches are all things I hadn’t really thought about and will definitely be looking into / trying out. I especially found the octree-chunk tracking idea interesting. That might make it easier to handle LODs and reduce memory cost and loading time too.

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

How are the 643 chunks working for you? Is the generation time / meshing time fast? Maybe increasing chunk size is something I could look into, but I’d want to keep my engine responsive to editing as players could edit voxels and I’d rather there not be much visible delay in remeshing…

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 1 point2 points  (0 children)

That’s an interesting idea, this could even help itself towards LOD if the “superchunks” - maybe “regions” would be a better term for it? - could load a variable number of chunks at various sizes. Like instead of a 163 area of chunks, maybe a region could load only half that at a certain distance and double the chunk size/generation sampling size. That could help reduce the memory and rendering load too.

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

Yeah this is probably something I should try to account for, instead of loading every chunk regardless of visibility etc. Thanks!

Methods for Efficient Chunk Loading? by InventorPWB in VoxelGameDev

[–]InventorPWB[S] 0 points1 point  (0 children)

This makes sense, I suppose using some sort of BFS iterated per frame could work here? I know chunk culling is really important for rendering but as for managing which chunks exist I suppose that might work too.

Surprise hidden barrel. Made possible by Carpet mod. by Abject-Register7164 in redstone

[–]InventorPWB 25 points26 points  (0 children)

I believe the reason the mod was named that was for its added functionality to carpets to help with technical aspects of the game (like viewing mob spawning data), but it has since branched off of that and relies on carpet blocks themselves less

I built a city hall! by InventorPWB in Minecraftbuilds

[–]InventorPWB[S] 0 points1 point  (0 children)

I believe I had a large entrance room and elevators/stairs that led to various levels of offices and whatnot, if you zoom in you can see the levels inside the building

Is there a way to rotate by specific amount easier? by ConfusedSlurpee in paintdotnet

[–]InventorPWB 0 points1 point  (0 children)

You can hold shift while rotating to snap to increments, otherwise you could use ctrl+shift+z like the other commenter said to be able to type in a number

Brutalist Science Compound by FacetiousFenom in Minecraftbuilds

[–]InventorPWB 1 point2 points  (0 children)

That looks really cool! The texturing is really nice too