Diamond Square is the core of my code generation at the moment, I am using a slightly modified version of it that is used. I have ideas to add a progress watcher for the map generation to make sure the map is being generated correctly as per the conditions given by the user.
I used Paul’s Blog to get an idea of how it works, and implemented it on my own. The Step method in the blog really helped understand how the code will work recursively.