I think what makes an ARPG fun is the same in principle as any other type of game, and it depends on the particular game.
Level design? Too little elements and its boring, too many and its visual noise, especially since you are not supposed to be in the same place for long. Small size is harder to create than bigger, too big and it feels empty.
Yes, and it depends on the game.
I think Freedroid RPG is a good example of what
not to do here. That game contains a large number of pointless maze-like passages and a large number of huge rooms stuffed full of crates. The crates, of course, just give you random items which you almost certainly don't need, and they are tedious to break open. The mazes, meanwhile, make gameplay tedious because you end up spending most of the time wandering around trying to find out where you're supposed to go.
The Empyrean Campaign, on the other hand, always makes it clear where you have to go next. Chests are scattered about rather than having them concentrated into giant chest rooms, and they're easy to open (you can just press the space bar when you get closer to them, no need to wait for your character to tediously attempt pathfinding trying to get right next to the damn thing; of course, this aspect is created by the Flare engine itself rather than the game). The key here is to have just enough chests to give the player some incentive to explore a bit, and no more than that. Chests should also contain worthwhile items often enough to make it not seem pointless.
The layout should also reflect this philosophy. It should be just as big and complicated as it needs to be, and no more than that.
Enemies? A nice variety is good, but actually all of them are the same thing with different aspects(not to mention recicled ones). They are always either fooder, tankers, ranged or magician. You can give them a twist like suicide bombers, static spitter plants or spawners, but even that gets old. And flare has it limitations, so combat is not very dinamic.
With this, again, I think the key is to have exactly as much variety to the enemies as is needed to make the game consistently fresh and fun, and no more than that. I think the Empyrean Campaign balances this just about perfectly.
One thing you'll notice about the Empyrean Campaign is that it has a consistent set of enemies that are reused over the course of the game:
* Zombies
* Three goblin types (slow, fast, and long-range)
* Three skeleton types (short-range, long-range, magic)
* Three grave types (fire, ice, spawner)
* Three antlion types (normal, ice, fire)
* Three wyvern types (normal, ice, fire)
* Two minotaur types (normal, spawner)
This means that the environment remains familiar to the player over the course of the game. When you see a zombie, you always have a general sense of what it's going to do because you've fought several zombies before. The same goes for any other enemy type. To keep things from getting stale, the game just modifies these basic types to expand them in intuitive ways, e.g. by changing the kind of ice or fire attack used or by using a short-range spell instead of a spear attack.
The way you group enemies together is also important. Enemies can be placed in such a way that their abilities complement each other. That sort of thing can be used to great effect.
Difficulty, the hardest thing to balance, and it boils down to having enemies that are damage sponges, or can almost one hit you, or fodder with relative danger/annoyance factors. So you need to grind for better loot at an easier map, i guess this is a common thing for arpgs.
This is something I might be in the minority on, but I think all games should have a constant relative difficulty for the most part. What I mean by that is, the game should get more difficult not to challenge the player more, but to keep the challenge to the player constant throughout the game (for a new player, at least).
Since RPGs are generally pretty simple, what this means in their case is that difficulty should mostly be constant (except perhaps for very early game when the player is still figuring out the controls and such). It should be just as hard to fight the first boss as it is to fight the third boss, as you progress through the story normally. Since you regularly level up, this means that the game should technically get harder over time, but the player should feel the same amount of difficulty at every step.
It can be justified to make a special exception for the final level / boss and make it a little harder. It is also justified to have difficult optional challenges (e.g. the Tux dolls in ReTux). But for the core game, I think the challenge to the (new) player should remain constant in general. In the Empyrean Campaign's case, I think it does this well.
Story, if its interesting, the better. But its just there to give a excuse to whack things in the head. So far im going a tiny bit heavy on it.
Story is once again the type of thing where I think you should have exactly as much as needed to make a given game concept work and no more than that. Something like Naev should be pretty story-heavy, but something like the Empyrean Campaign should have only a basic story.
I think the main thing for determining how much story to include should be, what are people playing the game for? If what compels someone to play a game is some sort of story, then story should be a big part. If what compels people to play is action gameplay, then any story elements should be kept out of the way and be used to create an excuse for what you're doing and/or atmosphere only.