This is made by recursive splitting with a grid returned with the information of roads and blocks. This method is inspired by the mesh splitting and rasterization of computer graphics. (Nov 8th.)Hooray! I changed it into mesh generation according to areas. It is no longer the bad-looking version. More kinds of height map is on the way.
I am right now working on implementing Hierarchical Pathfinding in this map as well as considering combine it with graph planning to deal with multi-agent occasions.
I am writing an OpenGL game engine and is going to migrate my old works onto the engine itself.