It blows my mind that they didn't program more interesting events into the gen 2-5 games. Like, every area of a map in any pokemon game is either incredibly functional like a building where a main story even takes place, or is some cube shack that you can talk to one or two NPCs to get an item. It blows my mind that with the engine they have had since Gen 2, they didn't program more events into the game. It would have been so easy too, all they would have had to have done is make a new NPC, write some dialogue with a basic quest (not dissimilar to how basic quests are done in any game in the past 20 years, something like "Oh I was fishing and my glasses fell in the water"), and they they could have put a key item in the water that you could find using the item finder, and upon returning the glasses it would open up the NPC as a trainer you could battle (Because there are already enough NPCs with inane dialogue, or NPCs whose only purpose in the game is to give you a useful item one time and then speak inane dialogue). It blows my mind that in a game where the principal game mechanic is pokemon battling they don't better integrate this into exploring towns. The worst part is this doesn't even require any additional code writing, you could easily script 40-50 interesting and unique events using flags and all the rest in a single day which would make the region seem more alive. Gamefreak literally had all this potential with every 2d engine from GSC to BW2, and never truly realized a pokemon game to its full potential. Every region is made of cardboard, the same NPCs will always be at the same place, they will never say anything interesting, and rarely say or do anything useful, and the core gameplay loop was completely divorced from exploration because outside of looting a TM or something like that from a cave there is no reason to really explore more than necessary.