Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

Hallo HeadClot,

thanks for using bloed! I will read the articles, but to be honest I thought a lot about optimization possibilities before and a lot of them are not possible with the bloxels system because

  • although of course constrained to a 1x1x1 grid, they can be of any shape (not only cubes)
  • they can/will have textures with UV coordinates on the texture atlas that are not in a fixed grid
  • they can have a noise factor (defined by the BloxelTexture) so all vertices have to exist reliably

It is already possible to set the size of a chunk when you're creating a new BloxelLevel, so you can only change this on initialization. Right now the default setting is 8 bloxels in the X, Y and Z direction, but I'm thinking about changing the default to 16. Chunks are generated on the fly when changed bloxels are registered, so there is no need to set an amount of chunks.

Kind regards,

Rat King

(2 edits)

Hey rat king,
Thank you for the in-depth reply. Good to hear that you are thinking about changing the default size of the chunks. If you do not mind me asking. What further optimizations do you have in mind for bloed? 

(1 edit)

For now I keep the default chunk size of 8 (you can change it anytime for yourself of course), because I noticed that a chunk size of 16 slows down the editing a little bit.

I don't have much further optimizations in mind. What I can imagine is automatically adding LOD groups to chunks, with the Culling level already set to a user defined value. Maybe it would even be possible to do some simplification of the chunk meshes for LOD 1, but I really don't know how, and it feels like a very extensive addition.

Also I was looking into texture arrays, but they have some restrictions (all textures need to be the same size, for example), and also I'm not confident they would actually help with performance that much. (They would help with greedy meshing though, I guess.)

In any case you should use occlusion culling, which Unity can do for you.