• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

How to make these games more engagingly difficult?

FSBS

Defunct
  • 147
    Posts
    9
    Years
    • Seen Apr 19, 2019
    Pokémon seems to me to be a game of grinding and spamming attacks. We could go back and forth on the whys, but I don't really care about that.
    Is it limited to enemy AI? Is it an inherent design limitation that the AI will never be able to give a strategic player a run for their money because it was never designed to be approached by an older, perhaps smarter player?
    I've played a couple of hacks that seemed to ramp up the enemy levels without scaling the random encounters, inflating the difficulty into nothing but a painful grind that can only encourage the casual player to drop the game or find a way to cheat.
    So lately as I begin making tentative progress on another project, I start considering this. What's the point of scaling each gym by 10 levels and making the E4 all 100 if all they do is spam their best attacks without any consideration as to attack strategy? This turns the battle game into trivial matter of who can hit faster and harder with type advantages and while that makes it simple, it doesn't make it engaging.
    This makes me think that I would have to edit every single monster in the employ of every single trainer in regards to their moveset-and with my admittedly limited knowledge of tactics, I would end up giving those monsters 3 stat reducers/hamstringers (poison, paralyze, sleep) and one solid attack. What worries me is that any player with half a knowledge of pokemon games will just stock up on restores, turning the game into a mildly frustrating heal, hit, heal, hit. One solution of course is to have type variety in trainers-so that a trainer with 3 monsters would have a hamstringer, a reductionist, and a hitter all of different types/dual types. Is this even a solution to the difficulty problem, or is it another example of artificial difficulty?
     

    Blah

    Free supporter
  • 1,924
    Posts
    11
    Years
    I think enhancing the trainer AI might be better than trying to come up with solutions to make a dumb AI coincidentally do smart things.

    However, I think what you're talking about also has relevancy. A key part of being a strong Pokemon player in competitive battling, is team building. So having people scale their AI team levels is probably not enough, and I think that making important trainers in the hack have a solid base team is a good start.

    Another hindrance to battle difficulty is the ability to use items during battle. While greatly favoring the player, it also feels bad when abused by the opponent. It's a poor feeling when your opponent is low health and pop's a full restore on you. That being said, considering some of the level curves in most hacks, you almost don't have a choice but to use potions every now and then.

    You have to also consider that while training your Pokemon in the game's campaign, you'd have to battle a long string of trainers before you are allowed to heal. So making every trainer along the way be a challenge can be somewhat detrimental to the progress in the game. There's also no real way to skill assess a player while playing the game, so dynamically picking an AI difficulty to assign doesn't seem very feasible to do.
     
  • 171
    Posts
    11
    Years
    Programming a good AI in a game with such a complex battle engine is extremely hard. No matter how hard you try, you're never going to come close to outsmarting the player. I don't know if you've ever played a gen 2 game, but there's around 5000 lines of code related to battling AI. Approximately 1/3 of the whole battle engine in gen 2 is AI. In other words, picking what action will the opponent choose the next turn takes up one third of the battling code in G/S/C. And if you ask me, is the AI in those games actually good? Pick up the trainer classes designed to be the smartest ones. Compared to a player with knowledge of the game, they're awful. But can it get much better than that? Not really. Granted I could come up with minor specific improvements to the AI (that may even require a huge rewrite and far more code), but in the bigger picture it would never come close to outsmart the player.

    I guess if you really wanted to come the closest possible, if you are the game, you could take advantage of the fact that you can know which move/action the player chooses before selecting your own. This doesn't necessarily have to be done in a blatant way, I think if it's done elegantly enough, the player should never notice it and could turn out well. It's the only feasible way to remotely add concepts like "human" prediction to the AI. That said, I'm personally not a fan of this idea.

    I'd say, be creative. If you are willing to and capable of, remodel the battle engine to your own liking. After all, what really matters it's that battling is exciting for the player, not that the AI is extremely smart. In fact, this may not be a good thing. Trying too hard to make all trainers use the most effective strategies can make it become repetitive. Offer something unique to the player. There's a reason every turn-based battling game plays differently. It's obviously easier said than done and I know first hand how hard and laborious can be to rewrite big parts of the battle engine, let alone in a gen 3+ game.
     
    Last edited:
  • 794
    Posts
    10
    Years
    There are three ways that can make a game more challenging: (in my opinion)
    - don't allow player to switch pokemon before an opponent sends their Pokemon. I don't even know why this is a thing but it's terrible, the advantage the player gains by it is huge. I suggest forcing the 'set' battle style no matter the selected option
    - smart opponents' teams; and by smart I mean pokemon that don't have ridiculous movesets like growl, howl, leer and a special move. That's why I'm not for 'default movesets' but for setting each trainer's pokemon moves. I know this can be tedious but it's more fun to challenge a Butterfree with Sleep Powder and Tackle than a Butterfree with 4 status moves.
    There's also a matter of EVs, IVs nature and ability. Even though, we can't normally set those values, Doesn't hack allows us to do and I encourage you to take a look and use his hack.
    - finally AI. Tbh I don't think the smartest AI is that bad but it certainly could be better. I'm planning on rewriting the AI scripts so it's a bit more clever with picking a move, especially new ones. As Crystal said though, it'd be extremely hard to create AI that outsmarts the player. I think the main problem lies in switching, mainly the player switching. A solution to this, perhaps could be encouraging AI to risk using an ineffective move against player if they have switched their Pokemon before.
     

    Deokishisu

    Mr. Magius
  • 990
    Posts
    18
    Years
    Yeah, it's unfortunate that the only way to make the AI difficult is to have it strategically cheat, which is fun for no one when it's obvious. I beat Stadium 2 the other day, and each turn became a question of "Is the AI going to cheat this turn?"

    Seriously, in Round 2 I had an AI flinch me twice in a row and then crit, putting me into OHKO range by another of the AI's Pokemon. I finished off the flincher, and the next Pokemon rolled the highest possible damage roll for the OHKO. I was so upset that I calc'd it. The AI would've had to flinch me two times (with a non-flinch crit at the end) or three times (with a non-flinch at the end) or have two back-to-back flinching crits to push me in the right range for the OHKO. The next Pokemon had to have the highest possible damage roll for the move they'd chosen, or I'd survive with 1 HP. The odds of that all happening are astronomical, but the AI manipulates things like this in the Stadium games to keep the player from bulldozing over them.

    I could see the AI doing things like "predicting" switches by having a chance to read a switch and pick a move that would hit the switch-in harder, or double-switch on the player. The AI could also try to bait certain moves, and then switch to an immunity. So the AI sees a Ground-type move on the player's active Pokemon. It sends out a Steel-type, then immediately switches to a Levitate-mon with a moveset designed to counter the other Pokemon's weaknesses. The hardest AI Trainers could constantly read the moves the player is going to use and act to counter them. I could see the Psychic Trainer Class especially benefiting from this AI setting.

    I suppose the only way to create a "perfect" AI would be in areas where the player and AI's Pokemon are pre-determined. Like Battle CDs in Colosseum. It would be much more simple for the hacker to program in counters, because they'd only have to counter a set few actions.
     

    FSBS

    Defunct
  • 147
    Posts
    9
    Years
    • Seen Apr 19, 2019
    I'd like to thank you guys for the insight.
    I suppose there's a scripting or code edit that will take care of turning off the ability to switch? I don't need it until I get to proof of concept stage (which isn't soon) but I would assume documentation on it exists, as well as the consequences of altering AI values in A-Trainer.
    So with the information presented by you guys, I'm thinking a careful selection of teams and moves would be what I'm looking to do (as DizzyEgg said)-but not in the way I was considering in my OP.
    I know it's no fun for me to deal with 5 trainers running 3-5 monsters when there's a good selection of 350+ reasonable choices in a 386 hack like I'm starting on. And it becomes sort of a mindless chore to go through those trainers, tanking tackles and growls or mired in sand attacks and such just to jump a couple of levels for the gym where one heavy hitter with type advantage will rule the day and probably languish in a PC for the rest of the game-and we all know that in a casual rom hack adventure, the PC is where pokemon go to die. At least in a physical cartridge they may get traded or gifted away.
    I don't know anything about EV/IV stuff because I've never been that kind of player and it only appears to be relevant in PvP anyways-but I could be wrong for my ignorance.
     
  • 56
    Posts
    8
    Years
    • Seen Nov 27, 2016
    I'm currently taking a break from my Gen 1 hack, but I'm essentially basing the difficulty curve of my game around "resources" like opportunities to heal and regenerate PP, rather than having it readily available to the player. It becomes more about surviving the campaign than about beating down AI that's too smart or grinding to compete with some ridiculous overleveled team. Having a balanced team is important in that regard.

    I like most of the other suggestions, and had happened upon the "force battle to SET style" idea a while back, and made a point to implement that as well.
     
    Back
    Top