Yesterday I saw in the forum a status about making a Pokemon game as difficult as Dark Souls and that made me think about Pokemon's game mechanics and how to push them in order to make a Pokemon game more difficult. I also want to open the discussion and know what you think about the topic.
I encountered four main problems in the game's mechanics:
Symmetry: Combat in Pokemon was originally thought for PvP. The idea was that a player could train his favorite mons and then fight against his friends. For this purpose, the combat system was made symmetrical. This means that both sides play with the same rules. In Dark Souls for example, when you fight against a boss, this is infinitely stronger than you. It will use different attacks to the ones you use, and there's no way for the player to control that boss further in the game as a character. In Pokemon, however, you know that any opponent you encounter will have some of the 720 mons you can also have, and will use the same moves you could also be using.
Solution: This is actually the easiest problem to solve, and it can be done in many ways. One of them is limiting the mons, items and tutors available for the player, so that the opponent plays with an advantage. For instance, he might have Aegislash, leftovers or the TM for ice beam before the player, thus making the combat harder for the player. Increasing the level gap is also a way of making the combat assymetric, as well as introducing fakemons that the player can never get such as the pulses.
Breeding and training: There's no doubt that breeding, either nature, moves or IVs and EV training give an advantage to the player over the people who don't do them. The problem is the following, you can't make your game so hard that doing this is compulsory, because there are many players who just don't want to do so. And you can't have them hit a wall at some point in the game because their pokemon are not good enough, basically because this would reduce your player base a lot.
Solution: I think that IVs, EVs, natures and egg moves need to be added to the story. The thing is that you can't force your player to grind, so you need to add throughout the story other ways of getting the same results that don't involve grinding. The psychologist is a good example (although I think it should let you choose the nature straightaway instead of being random and forcing the player to soft reset). The same way I think there should be IV stones, friendship berries, EV enhancing items, tutors for egg moves and those sort of things along the story so that the player's mons improve without having to stop the story to breed or train and most importantly, without forcing the player to grind if he doesn't want to.
Randomness: One of the main problems with Pokemon is it's huge dependance on RNG. We can all tell about matches that were won already until Focus Blast missed three times in a row. This happens also in the story mode. In a strategy game, a boss is supposed to test the understanding of the game mechanics of the player, and therefore, if the player made the right choices he should win the match. Now lets suppose I have a Typhlosion, and I'm fighting against a pokemon which is weak to fire. So I use Heat Wave. Now, there's a 90% chance Heat Wave hits and I win, but there's also a 10% chance for the attack to miss. Even more, there's a 0.625% chance for Hat Wave to miss and for my opponent to strike back with a critical hit making my mon faint. If this was a nuzlocke, I would probably ragequit now. I mean, it's very frustrating to make the best possible decision and lose because of the RNG. Besides, there's also the opposite scenario. Let's imagine a 6v1 boss fight, that can outspeed my whole team and OHKO them with a 90% accuracy attack. I can just soft reset until he misses and I can land a toxic, and then stall him to death with protect. I don't really feel like I deserve to win this fight, I've won due to the RNG, not my ability.
Solution: Unfortunately, I have no solution for this.
About ways of making a Pokemon game more difficult, there are many and each one has its own pros and cons.
Increasing the level gap: This is probably the most straightforward way of making a game difficult. The game is easy? Make the opponents stronger. This, however, may lead to frustration if the difference is too high, as it can make the player feel that the game is unfair and that he can't do it. It may also force players who don't want to breed or train EVs to do so or to quit the game.
Using legendaries as bosses: Legendaries, mechanically speaking, make great bosses. They are stronger than other pokemon and usually have unique moves and abilities that give them some advantage, so they are perfect for those 6v1 fights. They have a very big problem in my opinion: I need a reason to fight a legendary. You can't introduce a fight against a legendary pokemon just because. You can't put Kyogre, the legendary pokemon that created the seas and almost flooded Hoenn and blahblahblah... in a cave just because blocking my way and expect me to like that. In game design, that's called ludonarrative dissonance. When the game's mechanics and its lore are giving you opposite mesages.
Nuzlocke: A nuzlocke (and all of its variants) is a fantastic way of making a Pokemon game harder by limiting the resources at the player's disposal. You know that you will have the opportunity to capture a limited amount of pokemon during the run and that they might die. It also introduces the idea of defeat to pokemon, which it doesn't exist otherwise. You can actually lose a nuzlocke, if all of your pokemon die. This adds a whole new layer of difficulty and strategy to the game. It comes at a cost however, and although small, it's really frustrating. It's the scenario explained above when talking about randomness. There's a chance of me making the best possible play and still losing, which should make no sense. And even if the chance of that happening is really small (0.625% in the case mentioned before), it exists, and it does happen. I think it's okay when a pokemon dies due to a player's fault but it feels really unfair when it faints because of that very unlikely worst case scenario.
Monotypes: Monotypes are a great way of increasing the game's difficulty too, not only because they limit the player's potential pokemon pool but also because they make the team inherently weak against certain types. Try defeating Charlotte with a grass monotype for example. However, the problem with monotypes is that this is not a choice the designer does, it's done by the player. It's the player who decides to play a monotype run of the game instead of playing the "vanilla" game. The best the designer can do is try to allow monotypes by putting a big diversity of pokemon in the early stages of the game. It's true that a game could be designed specifically for monotype, but it hasn't been done yet.
Better AI: This is, in my opinion, the strongest resource for making pokemon more difficult. It is, however, the most difficult one to carry out too. Probably the most difficult battle in pokemon is one against another person. It is the most interesting one to play too. Imagine if all the concepts of competitive play, and all the moves and items from the metagame that are not that useful in story mode (who plays pursuit or defog in story mode for example?) were not just playable, but relevant. Imagine if each boss fight wasn't a fight against an overpowered rival with a dummy AI but a competitive battle. However, as I mentioned before, having the machine playing as a human being is really difficult, requires lots of design, complex programming and testing and it's unfortunately quite out of scope yet.
Now I would like to know your opinion. How would you make a pokemon game more difficult? What other problems do you encounter in the game's mechanics and what solutions can you give for them?