Some semi-random thoughts on terrain generation
its fine for me.
Reply
Thanks given by:
There are still no overhangs in Desert-, Taiga, jungle and forest hills. is that meant to be? also Deserts still need sand Wink
EDIT:
lol i was looking for a forest overhang for days but didn't find one, now i was looking at a extreme hills biome, i turn around and there is a overhang in a forest..
EDIT:
That Chunk generator performance message realy spams the console now Wink
EDIT:
Also mushroom island should have the same generation as extreme hills exept the grass.
Reply
Thanks given by:
The overhangs' parameters are at the beginning of the source/Generating/DistortedHeightmap.cpp file, there's a table that assigns maximum overhang size for each biome. If you're not happy with its setup, you're free to experiment with your own settings. Remember that you can use the ConstantBiome generator to aid you with the testing of the parameters.

Currently, ExtremeHills defines the max overhang distance to 16 blocks in each direction and Forest sets 3 blocks in each direction, so it should have overhangs, but not so many and not so large. All the -Hills biomes have some small amount of overhangs.

What performance message are you now referring to? There's only one message that should be visible in the release mode, and that's the report of chunk generation speed that's set to display each 2 seconds if the chunk generator hasn't run out of chunks to generate within that time. Can't really call it spamming, can you?

As for the terrain composition, yes, I'm aware of the missing features, I just wanted to optimize the noise generation first, so that the generator is fast enough for use, and only then finish the details.
Reply
Thanks given by:
(05-13-2013, 02:09 AM)xoft Wrote: What performance message are you now referring to? There's only one message that should be visible in the release mode, and that's the report of chunk generation speed that's set to display each 2 seconds if the chunk generator hasn't run out of chunks to generate within that time. Can't really call it spamming, can you?
its kinda a one-time spam since you get it mostly when the world starts to generated for the first time

(05-13-2013, 02:09 AM)xoft Wrote: As for the terrain composition, yes, I'm aware of the missing features, I just wanted to optimize the noise generation first, so that the generator is fast enough for use, and only then finish the details.
i started working on this but i can't figure out how to place sandstone under the sand Wink
Reply
Thanks given by:
(05-13-2013, 02:12 AM)STR_Warrior Wrote: i started working on this but i can't figure out how to place sandstone under the sand Wink

Don't. I'm editting this source file heavily now, so let's not cause a svn conflict again. Don't worry, I'll add your sand soonTongue
Reply
Thanks given by:
(05-13-2013, 02:16 AM)xoft Wrote: Don't. I'm editting this source file heavily now, so let's not cause a svn conflict again. Don't worry, I'll add your sand soonTongue

Don't worry i wasn't planning on commiting it if you didn't want it Wink
Actualy i just took a piece of the Biomal CompositionGen and put it in there:
                    switch (a_ChunkDesc.GetBiome(x, z))
					{
						case biOcean:
						case biPlains:
						case biExtremeHills:
						case biForest:
						case biTaiga:
						case biSwampland:
						case biRiver:
						case biFrozenOcean:
						case biFrozenRiver:
						case biIcePlains:
						case biIceMountains:
						case biForestHills:
						case biTaigaHills:
						case biExtremeHillsEdge:
						case biJungle:
						case biJungleHills:
						{
							a_ChunkDesc.SetBlockType(x, y, z, (LastAir == y + 1) ? E_BLOCK_GRASS : E_BLOCK_DIRT);
							break;
						}
						case biDesertHills:
						case biDesert:
						case biBeach:
						{
							a_ChunkDesc.SetBlockType(x, y - 10, z, (LastAir == y - 1) ? E_BLOCK_SANDSTONE : E_BLOCK_SANDSTONE);
							a_ChunkDesc.SetBlockType(x, y, z, (LastAir == y + 1) ? E_BLOCK_SAND : E_BLOCK_SAND);
							break;
						}
						case biMushroomIsland:
						case biMushroomShore:
						{
							a_ChunkDesc.SetBlockType(x, y, z, (LastAir == y + 1) ? E_BLOCK_MYCELIUM : E_BLOCK_DIRT);
							break;
						}
                 }
Reply
Thanks given by:
That wouldn't have worked anyway, because Biomal doesn't expect overhangs, it just fills everything from the heightmap down to the bottom, while DistortedHeightmap needs to check for air pockets and restart from the beginning there.
Reply
Thanks given by:
Realy? it worked perfect for me ;O
Reply
Thanks given by:
You didn't have grass / dirt underneath the overhangs.
Reply
Thanks given by:
Uuuuhm I did edit the code a bit Wink


Attached Files Thumbnail(s)
   
Reply
Thanks given by:




Users browsing this thread: 38 Guest(s)