I make computer games, mostly small ones, in Java. My favorite games to play are probably Armageddon Empires, Minecraft and Master of Orion II.
After it was linked on MetaFilter, I've been playing a fair bit of Dungeon Robber. The game is a pretty faithful implementation of the random dungeon generator from the D&D first edition dungeon master's guide, as recently turned into a poster.
In the game, you start out as some hapless dungeon delver equipped with nothing but a sturdy cudgel, attempting to extract some treasure from the dungeon without dying.
The dungeons are very random. There is no balance or logic: the first room you enter could contain a skeleton that kills you or a priceless ruby. More likely, the first ten rooms you traverse are empty. As the author states, "By rolling dice according to the instructions, you could generate a dungeon which was illogical, arbitrary, super-lethal, and which often didn't even produce useable results."
Despite all this, I think the game is really fun. Granted, this may be due to some combination of masochism and nostalgia from my end, but my thesis is this: most dungeon crawlers have the wrong granularity.
Your traditional CRPG dungeon crawl subdivides the dungeon into tiles of roughly a meter square. Creatures usually occupy exactly one grid location. This means there are lots of details present about the shape of the room and everyone's exact relative positioning. But does it matter if a room is 5x5 or 5x7 tiles? Not nearly as much as whether it contains one monster or two.
As I wrote in the post on granularity, the commands you can give to a game should be at the same level of granularity as the meaningful decisions the game needs you to make. As a corollary, the information presented should be at the same level of granularity. Does it matter what exact size the room is, if it contains only you and two orcs? No. Does it matter where the orcs are relative to you? In a lot of games, it actually does not.
Dungeon Robber is so enjoyable because it strips away these superfluous details and just presents you with the choices that matter: attack the orc or run away. In doing so, it also opens up space for other choices: the game lets you parlay with the orc, or bribe it, or try to sneak past. Most CRPGs don't give you these options, because they spent their efforts on modeling and communicating the shape of the dungeon.
So here's the choice: Either do away with the irrelevant information about room layouts and monster positioning, and concentrate on implementing more choices that matter - like Dungeon Robber (and SE:SS, in a way). Or make room layouts and monster positioning really matter.
There's places where games do this: NetHack lets you tunnel through walls making the relative layout of rooms matter a bit. Shadowrun Returns has a cover system that makes positioning matter a lot. In Bargains, we're trying to make spells that have a positioning-based component, like fireballs that are shot not from your hands but from the most nearby brazier.
Still, this is pretty weak fare. My concept for fixing it: Viewing a dungeon not as a sequence or network of encounters (fights, puzzles, etc), but as a three-dimensional structure for you to interact with.
There's a lot of things relating to the shape and "consistency" of the dungeon, and the player's interaction with it, that current CRPGs do really badly:
This may seem like a big mess of different things, but it actually boils down to a few well-defined features:
Granted, none of these features are easy, and a lot of them have implications for the creature AI, but I would love to see a game that focused on them: no fancy graphics, simple UI and combat, no involved plot. Just big meaty 3D hunks of dungeons, left for the player to unlock with their wits.
Commands in games should be at the same granularity as the meaningful decisions you make. I just finally got around to finishing the new XCOM game, many months after everyone else, no doubt. I kind of wanted to make it last, though, because I think it's an amazing game. I also recently had the pleasure of reading Polygon's The Making of XCOM's Jake Solomon.
What struck me about the article was all the things that Jake wanted to put in, as a die-hard fan of the old X-COM, but ultimately had to leave out or simplify: detailed action points, randomly generated maps, large squads.
XCOM ultimately shipped with a system that allows no more than two actions per unit per turn: you can move twice, or you can move once or shoot. There are some special abilities that bend and break this concept, but there is no major deviation. Each map is hand-built, but there are many. And the maximum number of soldiers you can ever deploy is six.
Even before the game was released, lots of fans of the original games complained about how the new XCOM was dumbing things down. It's interesting that the original design for new XCOM included all the complexity whose absence the fans now lamented. But while veteran X-COM players at Firaxis could cope with the complexity, it was nightmarish for everyone else. Ultimately, much of it was removed.
I'm not a old-X-COM kind of guy. I think it was a good thing the game was "dumbed down". Why? Granularity of decisions.
I've played, or tried to play, the original X-COM and a bunch of more faithful adaptations. In general, each unit gets lots of time units, and each map tile moved costs one unit. Shooting, depending on the weapon and the mode, costs a number of units. This gives you the freedom of, for example, moving two tiles, firing a quick burst, then moving again. You can't do this in new XCOM. You can move and then shoot, or just shoot, or (with some special abilities) shoot and then move or shoot twice.
I've found I don't mind the restriction, though. In fact, I find it more realistic that you can't do too many things in sequence with no interference from the enemy. The reason I don't miss it, I believe, is that in a particular tactical situation, there are a number of actions that make sense: Things like moving forwards into new cover and taking a shot, or moving quickly in an attempt to outflank the enemy, or staying behind cover and blasting away, or waiting for the enemy to advance.
A coarser-grained system of choices can support these actions just as well as a more fine-grained one, but doesn't burden the player with as many how-long-is-a-piece-of-string type questions as "should I advance by one more tile", and also reduces the annoyed feeling of being exactly one time unit short of being able to do another useful thing. With fine-grained actions, the question of what exact sequence of actions to take is much more complicated than the question of what kind of tactics you want to pursue, leading to a whole bunch of mental legwork and frustration that adds little or nothing to the game.
In short, the commands you can give to a game should be at the same level of granularity as the meaningful decisions the game needs you to make. If the commands are finer-grained, you spend a lot of time executing the same pattern of small steps to achieve a particular effect, or doing mental arithmetic to figure out if you can squeeze just a little bit more efficiency out of your choices. When your choices matter only in aggregate, it's also easy to lose track of what you're doing.
Of course, if the commands are too coarse-grained, a different kind of frustration sets in. This is perhaps less common in strategy games, but extremely common in RPGs and first-person games. In the former case, when you are caught by the king's guards stealing the Stone of McGuffin, the game may not give you the option to explain that you need the stone to defeat the Ice Dragon, or to throw the stone into the ocean below the hover-keep, to be retrieved later. And in first-person 3D games, your badass character is often stymied by waist-high fences: you can only jump straight up, and you can only jump 40 cm, but the fence is 60 cm tall! Any human being in possession and control of reasonably functioning limbs can scramble over an obstacle like that. Having the fine granularity to give the command "scramble over that fence" would be nice.
In conclusion, figure out what the granularity of meaningful decisions is for your game, and model your game at that level of detail. This is something I've tried very hard to follow in SE:SS - the game asks you to make lots of decisions, but it tries hard to make each of them meaningful, and give you as many meaningfully different options as possible.