# 1D Simplex Noise Returns Same Generation

I've been using 1D Simplex Noise to create a random world surface, and it keeps generating with the same looking surface terrain, with some minor variations. Here is my sample code-

Tile[][] tiles = new Tile[rows][];
for (int i = 0; i < rows; i++)
{
tiles[i] = new Tile[cols];
for (int x = 0; x < cols; x++)
{
tiles[i][x] = new Tile(0, new Vector2(x, i), scale);
}
}

int left = Main.rand.Next(rows / 4, rows / 2);

double seed = Main.rand.NextDouble();
for (int i = 0; i < cols; i++)
{
int height = left + (int)(Noise.Generate((float)seed) * 10);
height = (int)MathHelper.Clamp(height, 0, rows - 1);
tiles[height][i] = new Tile(2, new Vector2(i, height), scale);
//FillLower just fills everything under the top tile
FillLower(tiles, height, i, scale);
seed += .05f;
}


My question is am I doing something wrong with the Simplex Noise method? How should I generate it so it'll look different?

Images for reference- http://imgur.com/I0g98z8,M61UBfb,tYPflb7

• The Noise class documentation may be usefull. Jun 3, 2015 at 11:05
• code.google.com/p/simplexnoise Jun 3, 2015 at 20:45

double seed = Main.rand.NextDouble();


give you a 0..1 double value

(float)seed) * 10


give you a 0..10 value

seed += .05f;


give a little delta.

Try

double seed = Main.rand.NextDouble() * 255.0; //or greater
...
int height = left + (int)(Noise.Generate((float)seed) );
...
seed += 1.0; //play with this increment

• When I do it this way, I just get a straight line for my terrain generation. Jun 3, 2015 at 20:43
• Whoops, figured it out (I think). Jun 3, 2015 at 20:47