So, I've been working on a game of mine but I have hit a dead end with something. I do not understand the concept of Noise in World Generation.
A long time ago I tried to make my own 'map generator' by pretty much coding a 500x500 image and telling the program 'if * pixels of this kind are close, you have % chance of copying it".
However, that came out pretty ugly, so I'm trying to find better alternatives to my world generation.
Right now I want my world gen to support 2D only, the flat landscape of only 3 tiles. However, whatever 'noise' generator I use, I want to be able to add over 12 different biomes, 80 tiles, etc, and have the map in more of a 3D, in the sense that it will also have hills and such(Although its for a 2D game).
So, pretty much I'm trying to understand the concept of 'controlled' noise generation for maps so I can create my own generator.
I have looked into the source of many Perlin Noise generators, but I can't quite grasp what is going on behind all the complex math the programs seem to be doing.
So, my question is, what is the idea behind Controlled Noise Generation? What is most programs actually doing that I should be trying to copy and warp into my own?
Controlled - means: 1/repeatable every load, every code run 2/stylised, shaped noise
there is noise quality: lack of artificial patterns visible in it, like squares and repeats
depth: how complex the noise is, how many noises on top of each other
and noise speed: how fast on the processor
perlin makes a zig zag wobble like an irregular wave. it starts with irregular points and joins them into a curve instead of lines using cubic interpolation. and to make it 2d, it takes irregular points along x and y and mixes them in an advanced way. it's good to learn 3d graphs to figure it out, for example milkdrop program, where you can multpiply or add sin(x) and sin(y) and see what shapes it makes. instead of sin, noise is irregular.