Nice city! You can also build up the rock wall by using (smooth edged) cubes. Just place a few (4 will probably do) around the perimeter of the city so they overlap, sort of (with the gap centrally). You could use a vector displace over Y with a softish circular simple shape inputting the vector displacement shader to lower the central part, so you end up with a circular wall. Add a compute terrain after that, follwed by a surface shader with smaller displacements and colors as its child input. Attach that to all blocks, and there you have it.