Developers Blog

Geochemical Engine

This is the new ERZ geochemical engine. It starts with a blank slate, which is impenetrable rock.

Let's imagine a volcano. It eats the space around it by some laws and heats up inside. The space around the volcano is a very hard rock that cannot be dug through, a prototype of sector. Somewhere there is a crack from which the live-bearing rock comes out, it damages the robots, you can't work with it in any way. Over time, normal rocks appear.
If we add several different volcanoes, they won't combine with each other, but will interact. Somewhere in the blackscale, prototypes of new sectors are growing.
Players are at the top, doing their thing, and a mine is growing below. The map will grow in real time. We land on the surface of the planet, with new sectors growing in the depths below us. You can see now how the boundary runs between these different volcanoes. They're meshing together, you can see how the linear boundary runs, it's all very geometric, no noise, nothing extra.

Let's try to make a lot of volcanoes, not just three, but many more and see what kind of picture we get. If you look closely, it looks like the simplest segmentation, partitioning into sectors. So far we have not introduced any rules on how the boundaries between the sectors are formed.

Now I'm going to show you how red rock is formed when rocks have already bonded together under high pressure. Since our colors are very bright, I made it white.
The examples from the images are not the final version, but a prototype. In the process of this experience, we realize that this idea is real, it is possible to make such an algorithm that makes a constant generation of new rocks in the mine.
You and I realized that the map of sector generation can be different, we don't have to draw it, we can create rules that will form sectors. Instead of generating the map at the very beginning of the world, we can open the surface and by similar processes populate our planet, new sectors will be updated little by little.

Then the question is: if I have already dug up a sector, a volcano has appeared there, what will happen to it?
I have the following picture for this, in which I have drawn the dug out area from below.

We have a huge space, a lot of volcanoes appeared there, different types of viviparous rock came from them, it will also form boundaries between each other, new sectors will appear. If you dig up a sector, a volcano appears there, then there is no new red-skull, what will erupt from this volcano will completely occupy the sector, a new filling of this sector will appear. If you have a huge sector - there will be collisions of different types of rocks, a new redscale will appear. This is an opportunity to balance the size of the sector. If you make it, different types of volcanoes and facets will appear again.
There can be many algorithms here, the most important thing is that we have understood the basic principle. Let's go further - volcanoes are formed where we have an empty space, they fill the space with rock, which floods everything up to the border of the nearest sectors. Further the choice is very big, how from this molten "soup" in each of the sectors will crystallize and turn into rock. This is a big question and different algorithms have to be thought of. Here's a visualization of the algorithm when it just cools down, turning into rocks and sand according to certain principles. Where there is a lot of sand, it presses hard and crystals are born out of the rock due to pressure.
Made on