Forget about isometric for a moment and look at doing it only in 2d. Isometric can be added later easily enough with the only headache being perhaps sorting.
The simplest kind of procedural generation is done on a 2d grid. This can be represented by a 2d array which will provide a value for each grid position. Next you as the designer need to choose what the values mean.
For a continent type you could use say 0 for water and 1 for land. For a dungeon you could use 0 for floor and 1 for walls. It just all depends on what you want to generate. Also there is no reason why you couldn't use 2,3... and so forth for more terrain types, again it depends on what you want to do.
Note at this point we just have a data representation of the map. If we want to get a visual of it we need to loop over the array and create objects at those positions.
For example if each tile is 32x32 pixels and the tile's origin is in the center then you can create the map with an event like so:
Array: for each xy element
--- Array: current value = 0
------> System create water on layer 0 at (Array.CurX*32+16, Array.CurY*32+16)
--- Array: current value = 1
------> System create ground on layer 0 at (Array.CurX*32+16, Array.CurY*32+16)[/code:y0phpsp3]
Or if your sprites are isometric then you can do this. Note: a 32x32x32 isometric cube will have a 64x64 pixel image.
[code:y0phpsp3]Array: for each xy element
--- Array: current value = 0
------> System create water on layer 0 at ((Array.CurX-Array.CurY)*32+320, (Array.CurX+Array.CurY)/2*32+16)
--- Array: current value = 1
------> System create ground on layer 0 at ((Array.CurX-Array.CurY)*32+320, (Array.CurX+Array.CurY)/2*32+16)[/code:y0phpsp3]
Well, then on to more about the generation. The most simple generation other than setting all the array to one value is to set each value to be randomly 0 or 1.
[code:y0phpsp3]Start of layout
Array for each xy element
---> Array: set value at (Array.CurX, Array.CurY) to choose(0,1)[/code:y0phpsp3]
Beyond that there are a lot of different ways you can generate the maps.
Instead of set setting individual grids you can set horizontal or vertical lines and filled rectangles by using "for loops".
For terrain you can use the "noise" addon which will give nice perlin noise instead of staic noise. I've also used a smaller separate array and interpolated it onto the larger array for a more globular noise.
For the wall bit do a search for "bitwise" for a method to choose a image based on what's around it. It also can be used for the water shoreline.
To have a land mass that doesn't have any inaccessible areas there are basically two ways to go about it. One is to pick a spot with land and do a "flood fill" there to mark anything connected and then check for values of land that isn't marked. A second method is to only grow from existing land so you always know it's connected.
Another topic to look up is "cellular automata" which can be useful at times.
cheers