top of page

Voxel Engine V2 [#0] - Where to go?

Since the last version of the project, a lot of study have been made to understand what Unity needs and how to generate a better terrain.

I've selected the best ways to make the terrain with optimizations for Unity.

Everything is what will come in the next course, what i will implement and use.


Here is what came up :


- Using Json and Xml to have a Block Database which can be accessed out of the game. This will help if we want to add blocks/textures/items while editing the scripts as doing it the old way may result in database errors which forces us to recreate every block.


- I've worked with the Unity graphics system to draw meshes instead of creating objects but Unity already optimizes it a lot for the objects. So chunk instances are better than drawing "virtual" chunks. This can still be used to render far chunks which are purely visual and don't need collision if we want to draw a landscape.


- Implementing a "Greedy mesh" to make optimized MeshColliders. But Unity can't work with it as good as it should, so we will need ways to use it while being able to collide properly.


- Data storage is better than objects. We need to avoid storing values in objects but instead create scripts for it.


- Threading and script flow. This is the most important part. We need to navigate between coroutines and threads to make sure we don't force on the generator but still keep track of the generation.


- Keeping in mind that generating chunks is good but removing them helps even more. You can generate infinite worlds but you will quickly notice that it will be slower and slower. This is because of the existing chunks which we forget about.


- The less data we store, the best it is. Don't hesitate to use bytes and ushorts, if you need to store small numbers this is the best way.



Each one of the solutions will be implemented at one point. Some may come later, some sooner.

79 vues0 commentaire

Posts récents

Voir tout
bottom of page