It's been awhile, but recently I've been working on a game. For now, I'll just say that it's inspired by several different Roguelikes, as well as games like Dwarf Fortress, Gnomoria, Towns, etc. That said, I'm facing a very important design decision that I have to make before I move forward.
The first issue is that of perspective. Top-down vs. Isometric:
This is mostly an aesthetic issue, but I'd still like you guys' opinion on it.
Z-levels:
From a development standpoint, having no z-levels provides a number of advantages. One is that I only have to worry about X and Y, so there's that of course, and it's a big advantage in terms of development speed. Another good point is that Z-levels can be difficult to deal with from a usability standpoint when you're in a 2D environment. Another advantage still is that I'll be using less computer resources, and thus will be able to do things like having a larger amount of entities on screen at a given time and things of that nature
That said, without Z-levels there is a bit of a loss of interaction. My original plan was to alleviate some of this by allowing players to "discover" areas through various means, and then players could access those areas from a GUI. This would give the impression that the world is bigger, while keeping all the advantages of not having z-levels. (so for instance, if the player builds a watch tower, clicking on it might show the top of the watchtower where your archers or cannoneers or what have you are stationed, or maybe a mining elevator allows the player to "discover" underground caverns, etc etc)
There is also the problem of aesthetics. How to deal with certain things. For instance, how to display roofs? Waterfalls? And for players who enjoy building spectacular castles spanning multiple floors, not having Z-levels may be a disappointment. What is your opinion on this problem?
I'll leave you guys with a few very early screenshots of the simplex noise-based terrain generator:
http://i.imgur.com/i41sK.jpg
http://i.imgur.com/EZVCR.jpg
The darker areas and water are lower on the heightmap, and the lighter areas and stone are higher.
EDIT: Some development history on this thing -
I'm using C# and the XNA framework for this. At first, my initial thought was to go with what I know - PHP, CodeIgniter, JS, maybe a websockets implementation. And in fact, that's what I did to start with. More and more, it was becoming glaringly obvious that I was putting unnecessary layers between the player and the game (there was no need to have a client-server communication, it's a single player game!) So eventually I switched to C#, and it's going great so far!