>>39517093And before anyone mentions "Pokémon has always been like this like with the old man", it has never been this bad. There is what you call inventory check blocks, and there's story flag blocks. The Pokémon League in Gen I is an inventory check block. You only need the badge flags, you don't need to actually fight specific Trainers. The world is just designed so that you'll fight these Trainers. It's the same thing as coming across that first Goomba in SMB 1-1. No matter what, you're going to have to jump to pass it, but that doesn't make the gameplay linear because it lets the player come to that solution on their own and makes them perform it in their own way. Maybe you mess up and die by bumping into the block. Maybe you stomp the Goomba. Maybe you run into it. Maybe you jump over it. Maybe you jump on the block and wait for it to pass. While the game is designed so that you will have to react with a jump to progress, the player is given the reins to figure it out and that's agency.
The number of story flag blocks in Gen I is relatively low. There's the old man. Uh, maybe the guy in Pewter City (not sure if it's an inventory check). Maybe Viridian Gym but that's still ultimately a way to get the final badge for an inventory check. Anyway, it's pretty low. In Gen VII, they show up in pretty much every area you visit.