This demo uses a cellular automata method to smooth out randomly generated tile noise.
My own implementation of the cellular automata method based on several articles I came across.