>>46154837>Taking away choices is never a good thingCompletely incorrect. Eliminating player choice is a fundamental part of game design. Without it games have no structure and thus no direction.
>If a player wants to go through the game with 6 pokemon and none of them can use surf or fly, the player should not be punished for that.The game requiring the player to meet a certain (and in this case, very small and insignificant) requirement in order to accomplish a task isn't a punishment at all. It's called "a game." You have objectives you need to complete, and in order to complete those objectives you have to meet specific requirements.
The basic HMs like Cut, Surf and Strength are teachable to a huge variety of Pokemon, ubiquitous to the extent that odds are any team will be able to equip them naturally. In the system I have proposed, they are not even required to occupy a move space which is the one thing that made HMs suck. As for Fly, that HM happens to be completely optional. Don't want a bird in your party? Then walk everywhere.