starandserpent / java-TerraServer

Terra - Voxel octree of chunks, made for Rituals of the old
MIT License
17 stars 2 forks source link

Client side terrain generation #26

Closed bensku closed 5 years ago

bensku commented 5 years ago

Implement a chunk type that contains only a seed (or few seed values). Generate blocks from it as needed on client side. Use it only when area has not been modified and can be generated fast.

Pawlost commented 5 years ago

We are using Weltschmerz

Pilvinen commented 5 years ago

This is actually not resolved by using Weltschmerz.

The idea is client side generation by sending only a seed value over. This is potentially going to save a lot of networking data.

Instead of sending over chunk data full of blocks generated on the server and shared with all the clients we would be sending over a compact seed value which allows that chunk to be generated on the client.

It would be a sort of "locally run Weltschmerz" if you will. But obviously we can't pre-share all of the data because of the huge cheating potential this has, so a lot of idea sessions and planning are required before we can move forward with an actual implementation.

But I'm re-opening the issue.

Pawlost commented 5 years ago

If I understand this right it is related to single material ID reference.

Pilvinen commented 5 years ago

This is separate from material ID reference.

This has to do with using a seed for random number generation and using that master seed to create a ton of child seeds for each chunk.

So therefore a chunk type which contains a seed.

However it does have some inherent problems and this needs to be discussed one on one.

Pawlost commented 5 years ago

This issue was moved to our private wiki.