>>27075989The entire HM system in general is incredibly dumb and poorly implemented. There HAS to be a better way to do it. Even having physical checkpoints a la Indigo Plateau that check to see if you have certain badges before letting you proceed would be better than arbitrarily locking the usage of a certain move behind a plain old badge.
The real problem is the logic behind the moves themselves. There has to be a way to group certain moves into categories like "cutting moves", "rock-breaking moves", etc. Cut, Slash, X-Scissor, Razor Wind, Air Cutter, Air Slash, Cross Poison, Dig, Dragon Claw, Fury Cutter, etc. should all be able to get through trees. Mega Punch, Close Combat, Comet Punch, Force Palm, Drain Punch, Giga Impact, etc. should all be able to get through breakable rocks.
As for stuff like Fly and Surf, it should be useable from the start. You should only be able to fly to places you've been before, and surfing is only useful if you're able to actually enter the place that is across whatever body of water you're crossing. An idea I had is that you need Pokemon of a certain size to be able to fly/surf but I'm not sure if that's too restrictive.