Some semi-random thoughts on terrain generation
About the MinMax generator.

As far as I understand the biomal generator generates a height by creating an average in a 9x9 area around the asked position. How about we give different biomes some kind of priority. I have a feeling this might sound a little vague, so maybe a little code:
const cHeiGenBiomal::sBiomePriorities cHeiGenBiomal::m_BiomePriorities[256] =
{
	/* biOcean             */ { 1 },
	/* biPlains            */ { 1 },
	/* biDesert            */ { 1 },
	/* biExtremeHills      */ { 1 },
	/* biForest            */ { 1 },
	/* biTaiga             */ { 1 },
	/* biSwampland         */ { 1 },
	/* biRiver             */ { 3 },
	/* biNether            */ { 1 },
	/* biEnd               */ { 1 },
	/* biFrozenOcean       */ { 1 },
	/* biFrozenRiver       */ { 3 },
	...
}

int HeightAverage = 0;
int DivideTo      = 0;
for (int x = PosX - 4; x < PosX + 4; x++)
{
	for (int z = PosZ - 4; z < PosZ + 4; z++)
	{
		DivideTo += m_BiomePriorities[GetBiomeAt(x, z)];
		HeightAverage += GenerateHeightAt(x, z) * m_BiomePriorities[GetBiomeAt(x, z)];
	}
}

int FinalHeight = HeightAverage / DivideTo;
Reply
Thanks given by:


Messages In This Thread
RE: Some semi-random thoughts on terrain generation - by NiLSPACE - 11-06-2014, 04:47 AM



Users browsing this thread: 12 Guest(s)