VoxyGen has had a lot of updates in the past few months, and I’ve been working on an extensive post detailing all the new features. But in the meantime, here’s a fun little update I added today that should yield some cool results when used correctly.
I’ve added Perlin noise to VoxyGen for commands that require seeds! Currently, this only includes spires and life, but I’m sure it will have plenty of uses in the future.
Previously, the only random distribution available was random (white) noise. Perlin allows for clumpier, more natural shapes. Here’s a comparison of the two:


Neat! The code was adapted from tgirod’s StackOverflow answer about Perlin noise.
Perlin noise can be used by adding the distribution keyword to any command that depends on utils.generate_seeds. Here’s an example:
---
tiny_spires:
x: 50
y: 50
z: 10
script: [
{
name: spires,
distribution: perlin,
spawn_rate: 0.2,
growth_rate: 1,
width: 1,
decay_rate: 0,
color_start: 1,
color_offset: 1
}
]
Note that the default seed behavior is still random for life and spires, but you set your own default when writing your own command modules.
Here’s an example of how to use the distribution variable when writing a command module.
spire_bases = generate_seeds(entity, spawn_rate=spawn_rate, distribution=distribution)
Here it is when used to seed the first layer of life. Notice how the bottom layer looks much more organic than the previous white noise scheme.

As always, this is all available in the VoxyGen GitLab repo.
That’s all for now. Happy codin’.
























