When having thousands of parts loaded all at once, each of them having 6 decals/textures, it causes massive performance drops. Blocks will be destructible and replaceable (another image for reference).
I have no idea how I could find which parts/faces are visible to the player. I’m planning on having generation also follow the player (yet to be implemented, another thing I’m gonna need to learn to do later on ーへー).
I remember once seeing a post about this, however, I can’t find it.
Any help would be greatly appreciated! All generation is done by random numbers.
First of all, you should probably have a chunk loading system like minecraft. About textures, you can easily check which textures can player see by comparing camera and block’s position. For example, if camera is higher than block then player can see upper face, otherwise it can be unloaded (though idk, it might be handled by roblox’s rendering scripts already so dont bother with it for now.
Alternatively, you can try to make blocks as textured meshes rather than part with decals. I think it might increase performance a lot.
About blocks, it’ll get a bit more tough. You can probably significantly decrease their amount by only loading underground blocks when a nearby block gets mined so they aren’t rendered until theyre needed (because they may as well never be uncovered)