Suppose the game was designed so that after achieving a goal, you get an unexpected bonus ability with awesome synergy with the character, no matter how the character had been developed up to that point? As a game designer, ignoring the difficulty of realizing such a design, how would you say the Fun-theoretic potential of this scenario stacks up?
Well, that is even worse, because essentially, you just took the choice away from player. No matter what he chooses, he’ll always get some cool abilities.
This rule of thumb is overly broad as stated. It would rule out poker, “fog of war” in RTS games, etc.
That’s a general rule of thumb, NOT an unbreakable pillar of game design. There may be, and usually are, other considerations. “Fog of war”, for example, generally means unpleasant surprises for the player, but it is still a viable game mechanic in some cases.
Well, being a game developer, I can tell with some authority: you are wrong. It would (generally) mean error in game design if the abilities were hidden. Why? Because then the player couldn’t plan anything. If some or all abilities are hidden at the beginning, that forces the player to choose based on incomplete knowledge, and more often that not, leads to regrets: “I wish I purchased that ability which turned out to work in nice synergy with others, and not this one which turned out to be useless..”. Especially if there’s some finite pool of resources used to purchase these abilities. And that is not fun, even if surpising.
A rule of thumb in game design is to never make players make uninformed choices, as that only leads to frustration. This beats any possible pleasant surpise that might be there.