Persistent Editable Procedural Terrain

I’m currently working on a game in which planets are generated with a noise-based procedural terrain system; the seed is randomly generated when the planet is created and then remains persistent. The issue I’m facing is that I’d like players to be able to edit land they claim on a planet and have the terrain changes remain persistent too.

I’ve considered a couple of possible options. Initially, I thought about a way to serialise the whole terrain and save/load that when the server starts for a particular planet. However I feel it would be inefficient to save all of it - though I am planning on limiting planet sizes. My second option would be to save the edits players make and load them as each terrain chunk is generated, but I reckon this could be quite difficult to get right in terms of keeping the data small.

If anyone can think of any possible ways to do this that would be greatly appreciated, thanks!

For the tools you extend to your players, you can save the modifications you make through those. That way you’re editing the terrain and recording the changes at the same time. How to go about this… I’m not sure.

In my endeavors of procedural terrain. While its possible on Roblox. I don’t think Roblox is ready for it without doing something that bypasses smooth terrain entirely.