This is something I've been thinking about for a while since I'm getting started on making the actual levels for my game which is an isometric turn-based rpg.
There are two ways I could do it. One is to create the map by hand, placing the sprites where I want them. It would just be a matter of making the sprites and marking off where I want the solid borders to be for pathfinding. Nothing too difficult there. The main advantage here is complete control over the visual elements so I could make a better looking game. The downside is that the level will always be the same, save for random enemy placement and difficulty.
The other option is to randomly generate a map. The advantage to this would be having a different layout each time. The downsides are that it's harder to make it look nice. I can't place "filler" sprites to cover weak areas or to add in detail as easily since they would need to be placed in the proper location. I also have to make sure the map "works" and is still interesting. The major issue I've had is placing structures such as a long wall, a river, a long cliff, anything that is not just one sprite but a group of sprites that need to line up or make sense.
Here are a couple different examples.
The first is from Age of Empires II, and the second is from Baldur's Gate II.
I can adapt the game to work with either type of map. I would lean more towards the Baldur's Gate style map since this is an RPG after all.
The AoE map is probably easier to make. It is more open and would only need correct sprite placement so that it looks nice. If I add water, I would have to worry about islands I can't reach or whatnot. If I add trees, I would want them in groups preferably but not blocking paths either. I would have to create some sprites to indicate shorelines for each side and some corner pieces and place them correctly, which seems like it would be tricky.
The Baldur's Gate style maps rely more on paths and rooms. The biggest challenge is how to make the walls have proper corner pieces, be the proper thickness (as you can see in the picture some rooms are very close together, and others have more space around them.) Even if I set up some sort of code to randomly place rooms and hallways, I would still need the textures/sprites to be in the correct place. A wall needs to have an actual end to it and fit in with the corner of the next wall.
All of this is easy with manual placement. I just create some sprites (walls, rocks, etc.) and place them where I want them until the level is built.
I've messed with arrays a little bit, and looked at some random map generators here. I really can't see any way to make a functional world that's both random and isometric and actually works. Placing isometric objects like a tree is not hard, and I could make the ground tiles diagonal or whatever.
But getting walls built around paths and things like that is just really confusing, assuming I could build an isometric hallway to begin with. Has anyone had any success with anything like this?