Hi. I’m DirectCode. Despite my name, I have not yet got a real qualification in maths, not yet anyway, so any assistance would be really appreciated!
I’m currently working on a project (or tech demo) that aims to allow the user to explore an infinitely-generated world. I know the basics on how to accomplish this, with noise maps/heightmaps, biomes, etc. I know how to go about making a voxel-based terrain generator.
The issue is I don’t want a voxel-based terrain generator, as this is supposed to generate old Roblox-themed worlds, such as crossroads. What I’d rather have is a chunk-based terrain generator, yes, but with randomly distributed parts according to the randomseed.
Think of it this way; if it were voxel-based, each chunk would have, say, 1024 parts each being 4x4x4 studs. But I want each chunk to have a random about of parts from, say, 4-16 parts. It would then evenly distribute against the chunk’s size to fill in all the gaps. Then the heightmap would come into play to make the terrain’s height and afterwards, structures would generate on top of the terrain.
I’m not too interested in underneath the top layer of terrain, since it’s supposed to be old Roblox-y kind of terrain like crossroads.
The reason I’m posting here is that I don’t know an efficient method of going about THIS kind of stud terrain generation, and I’m hoping someone here could push me in the right direction.
Not really, that’s more voxel than I’d like. I’d rather have it keep the old robloxy world style like Crossroads and other 2010 maps. The best example I could give is this:
I’m aware it’s likely impossible to make it look this way, but focusing purely on the actually “mud” and “rock” terrain parts of the world is what I’m trying to create in code.
Basically you want to form a equation in desmos with the perlin formula which brings sharp drops back. I theorize decreasing the frequency and increasing the amplitude
That’s an interesting idea, I suppose a way I could keep minecraft-style chunks is by having a “base” block for each chunk and then adding multiple layers of blocks on top of that and resizing/reposition to the nearest part of the heightmap.