So here is how my terrain generation is coming so far, turns out that implementing simplex noise wasn't too difficult.
What I did is set anything below a certain height to water. The image on the right is supposed to be a temperature gradient. Darker is supposed to be colder, and lighter is supposed to be warmer. That way, it can simulate poles, and the equator. Currently the temperature does nothing.
I'm not sure if it would be a better idea to generate forests using noise data or a random-spread algorithm. It's easy enough to compute a hex's neighbors, so if I could find a good one that might work.
What I am going to try and do is determine the biome based on the temperature and moisture level, and somewhat based on elevation. For my first attempt I am going to simulate the moisture coming off the water and going onto the land.
What I think i'll do is go through each water tile and draw a line east(for now). If it hits land, it will increase the moisture level of that tile, as it goes further inland, it will give less and less moisture. If it hits a mountain it will stop completely, and the other side will probably be a desert. To speed this up, before I draw the line from the water tile I will see if it is surround by water or if it has land that is adjacent, if it is surrounded by water I won't draw the line from it. That way it won't have to do this process for every water tile.
I feel like this may work. But, I am also feeling that it way end up with some odd looking results, that don't entirely make sense, like too many rainforests, or huge deserts on the eastern side of most mountains, if everything just goes the direction of the prevailing wind.
Random generation is a hard thing to manage, because you can't control occasionally getting dumb-looking geometric formations without crippling your generation algorithm.
I am also having some troubles with this. I am happy with the map above, but, I would rather create a map with less water sources, that are larger than the current ones. I might do something that Reelya mentioned above, and sort of grow the oceans, until there are enough of proper size. I might also flatten the small ones into normal land so there isn't so many random tiny ones sitting around.