Pokémon games are notorious for their formulaic plot. There's always a journey to go through and eight Gym Leaders to beat. There's always an evil team to defeat and a Champion to face. And there's always a rival, another Trainer who constantly follows the player, challenging them every step of the way.

RELATED: Each Rival's Best & Worst Team Member In Pokémon Sword & Shield

Rival battles are constant throughout the games, and most of the time, they're more of a nuisance than an actual obstacle. However, there are times when the rivals decide to step up their game and provide a real challenge. These battles are memorable because of their difficulty, making these enemies stand out above all other opponents in the franchise.

Wally's Last Battle - Pokémon Omega Ruby & Alpha Saphire

Wally challenging the player to a battle in Pokémon ORAS

Wally is one of the franchise's most unique rivals. He only battles the player twice, in Mauville City and Victory Road right before the Pokémon League. Players help and guide Wally throughout the game, watching his evolution from a scared young boy into a capable and confident Trainer.

Alas, his battle isn't hard per se. In fact, it's the opposite, just like all the other rival battles from every post-Gen V game. Still, there's something commendable about Wally's battle, considering this formerly inexperienced Trainer grew strong enough to handle Mega Evolution. Wally's team is also monstrous, including an Altaria, Roserade, Magneton, and a Mega Gallade. In other circumstances, Wally's team would be absolute torture.  However, the game really wants the player to win, so Wally becomes just another step on the way.

Hop's Tenth Battle - Pokémon Sword & Shield

Hop challenging the player to a battle in Pokémon Sword & Shield.

Similarly, poor Hop gets the short end of the stick. He is arguably the best rival in the franchise, a young boy desperate to become a great Trainer. He isn't afraid to rotate his team and try new strategies; indeed, he had new Pokémon in almost every one of his battles. It still isn't enough though, because Hop's enthusiasm exceeds his skill as a Trainer.

RELATED: 10 Things To Do In Pokémon Sword & Shield Most Players Never Discover

Still, there's something impressive about his team during his final match. With a Legendary Pokémon on his team, Hop becomes less of a pushover and gives an admirable battle. Zacian and Zamazenta are threat enough, but his Cotton Guard-spamming Dubwool and ridiculously resistant Snorlax make the match far more even than anyone would've guessed.

Bede's Last Battle - Pokémon Sword & Shield

Bede Clooking arrogant in Pokémon Sword & Shield

Bede is all bark and no bite. He is the least likable rival in Sword & Shield, a Psychic-type specialist with a passion for pink that eventually becomes a Fairy-type Gym Leader. Psychic and Fairy are two of the most powerful types in Pokémon, and his team has some of the best representatives of both. Mawile, Rapidash, and Gardevoir are all formidable Pokémon, and his Gigantamax Hatterene is no walk in the park.

However, most Sword & Shield players will have a Corviknight on their teams, meaning they can sweep through most of Bede's Pokémon thanks to their vulnerability to Steel. Still, Bede is a worthy opponent that will give players more than a few problems.

Hugh's Last Battle - Pokémon Black 2 & White 2

Hugh challenging the player to a battle in Pokémon Black 2 & White 2.

Generation V is notable for many reasons, but the consensus is that its rivals are somewhat forgettable. It's a shame, because Hugh is one of the best opponents in the franchise. He's threatening without being outright evil, making him the most compelling rival since Silver.

Hugh is the last rival to choose the Starter with an advantage against the player's. His team is impressive, boasting fearsome golems like Bouffalant and Eslektross. However, there are two blatant weak links among his Pokémon: Unfezant, the lamest regional bird in Pokémon, and one of the much-derided Unova Monkeys, whichever is weak against the player's Starter. Hugh could be the ultimate threat, but he falls short in the end.

May/Brendan's Battles - Pokémon Ruby, Sapphire, & Emerald

Brendan and May holding the Hoenn Starters in the Pokémon anime.

For some bizarre reason, players only battle May/Brendan four times in the Gen III games. They are far from being the best rivals; in fact, they're not even that difficult to beat in normal circumstances. However, several players will choose Mudkip because it is the best Starter in Generation III by far, meaning May and Brendan will choose Treecko, and that's where things get tricky.

Once Mudkip evolves into Marshtomp, it gains the Ground-type, making it four times weak to Grovyle's Grass attacks. Things can get very ugly very fast if players aren't careful enough during these battles. May/Brendan's other Pokémon are no problem, but their Starter can make all the difference in the early game.

Hau's Championship Battle - Pokémon Ultra Sun & Ultra Moon

Hau during his Champion battle in Pokémon USUM

Hau may come across as a likable, laid-back rival, and he is, but he's still a taxing opponent to face. More so in Ultra Sun & Ultra Moon, when he becomes the first-ever Champion of Alola. Hau's team includes some heavy-hitters, including Tauros, the exceptional Noivern, and the incredible Alolan Richu. Add the hideous Crabominable and one well-chosen Eeveelution, and his team quickly becomes a dangerous threat.

Although Hau chooses whichever Starter is weak against the player's, he also has a Z-Crystal, making things more complicated. Hau's battle is worthy of a Champion and an excellent way to end the game's main story. His team could use some improvements, but it's already pretty good as it is.

Barry's Last Battle - Pokémon Platinum

Lucas and Barry battle in Pokémon Platinum

Barry gets a bad reputation, and he doesn't deserve it. He is not only an effective rival, but he also has one of the best teams in any main series game. He is also a constant opponent throughout the game, making him a latent threat that never goes away.

Barry's team includes a who's who of Sinnoh's best Pokémon. He will choose whichever Starter is strong against the player's and add a Staraptor, a Heracross, and a Snorlax. The rest of his team depends on the player's Starter but will include heavy-hitters like Roselia, Floatzel, and Rapidash. As such, Barry's final battle at the Pokémon League is a true challenge, worthy of being the last obstacle before taking on the Sinnoh Elite Four and the Champion.

Silver's Last Battle - Pokémon HeartGold & SoulSilver

Ethan and Silver battle in Pokémon HeartGold & SoulSilver

Out of all the rivals, Silver is probably the darkest. He's genuinely mean-spirited and cruel, envious of the player and looking to antagonize him every step of the way. Silver is also a gifted Trainer who becomes increasingly better and with each loss, culminating in a final battle that ranks as one of the best in Pokémon.

RELATED: 10 Unique Evolution Methods In Pokémon

It all comes down to one single Pokémon: Crobat. As one of the best Gen VI additions, Crobat is a superstar in Sinnoh, one of the region's fastest Pokémon with decent stats all around. Rounding Silver's team are the menacing Sneasel, the always-reliable Alakazam, Magneton, Gengar, and the Starter that's strong against the player's. Silver is a latent threat in Johto, and even if he does become kinder by the story's end, he remains a formidable battling opponent.

Blue's Championship Battle - Pokémon Red & Blue

Blue sends Blastoise to battle in Pokémon Generations

Twenty-five years after his debut, no rival comes close to Blue. He is the original, the prototype for all other rivals to come. Blue is the perfect mix of rude and friendly, constantly pushing the player without ever becoming outright evil. He is always one step ahead, eventually becoming the Champion and facing the player one last time.

Blue's championship battle is one of the franchise's best. His team is incredibly well-balanced, covering nearly every worthy type in Kanto. His Alakazam is especially dangerous because Psychic was ridiculously overpowered back in Gen I. On top of that, he has the decent Exeggutor and Pidgeot, and the excellent Rhydon and Arcanine, plus the Starter strong against the player's. Blue is one-of-a-kind, one of Pokémon's best League Champions, and the most challenging rival by far. All his strengths come to light during this final battle, explaining while it's still the toughest one in the franchise's history.

NEXT: Every Eeveelution In Pokémon, Ranked