>>95577564Scale's a big part of it, but I think the biggest part is really scope. "What do you want to accomplish with this?"
I'd argue that the big Imp fight was a large-scale game, it had lots of work done on it, it had lots of effects, lots of programming, flashy animations, big attacks. And that's part of what makes it a little iffy for me - could that time have been better used somewhere else?
But it had a small scope, and that kept it redeemable. It was one fight. You weren't stopping in the middle to go and talk to a bunch of NPCs to find its weakness, then going into a dungeon to retrieve the magic item to slay it, then encountering a new character who was of vital importance to the plot, then teaming up with that character to do a second, multi-stage fight with the Imp again. It was just one fight.
Scale's important, but Scope is the thing that gets you the most often, in my experience. Because the thing is, you can STOP scale. You can say "this is big enough", and just not add any more. You can't easily do that with scope. If you're halfway through coding the dodgeball minigame, you can't drop it nearly as easily as if you're halfway through coding the thirtieth level of the dodgeball minigame, you dig?
My take on it has always been to try and sum up your game in a single sentence, and then look at what you're trying to make. Does it match the sentence? "This is a game where you slay the big Imp". Well, if you're going to find a magic sword and meeting new NPCs and whatnot, that statement isn't 100% true. It's only broadly true.
"Catch the priest", "Solve this puzzle", "Fight the Imp". If you can sum up your entire game in three words and not be leaving anything else out, you're in a really good, focused spot. Scale's another thing you need to rein in, but I don't have a hard and fast rule for that.