Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Chunk System and Greedy meshing feature requests for bloed.

A topic by Squarepeg makes Games created Apr 12, 2022 Views: 314 Replies: 3
Viewing posts 1 to 2
(3 edits)

Hey Rat King - I have two feature requests for Bloed.
First off let me say that - I love this tool. It is amazing and I love it. It is mostly perfect for my needs. Here is what I would like to see improved with the tool.

1. Would it be possible to get some form of customizable chunking system with Level of Detail support? This would be useful for larger environments.
Here are some wiki articles on the subject from the Minecraft wiki. Link 1 Link 2 
Here is what I mean by customizable chunking system.
- The ability to customize the default size of a chunk in blocks along the X, Y, Z.
- The ability to customize the amount of Chunks along the X, Y, or Z
2. Would it be possible to get some form of greedy meshing algorithm for optimization? 
Here is an article on the subject. Link and sample code on how to do it.

Both of these would greatly improve FPS. To give some context on why I am wanting these two features I am building a moderately sized VR game and VR games are very frame rate dependent in order to not make people sick.


If this would be possible please let me know.
Thank you for your time,
HeadClot

Developer (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? 

Developer (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.