• Smogon Premier League is here and the team collection is now available. Support your team!

Recent content by pmariglia

  1. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    Thanks! 1. All performance differences between generations and formats come down to either one or both of these: engine accuracy and information available. For the engine I focus on and try to get as accurate as possible the current gen9 mechanics, though with the exception of...
  2. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    1930 is definitely impressive. I've had similar success in gen9ou as well. Right I didn't answer your other question. The evaluation function was made using trial and error just based on my understanding of certain formats & metagames. I do not think it is completely optimized. Trying to tune...
  3. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    Thank you so much for the kind words. I completely forgot about that set data PS has. I am actually working on a data refactor right now and I'll have Foul Play auto-include that data. Search parallelism is going to be limited by your hardware so I can't give you an answer. Generally more is...
  4. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    If you have a problem installing/running I'd suggest making a Github issue. 1) Yes. For random battles the unrevealed pokemon are sampled from the pool of Pokemon PS would put on the team. For formats like Gen3OU I do a very non-scientific sampling of the most likely pokemon. This does not...
  5. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    There are a few sample replays towards the end of this page for a few different formats, including gen3ou: https://pmariglia.github.io/posts/foul-play You can see a broader set of replays by going on https://replay.pokemonshowdown.com and searching for the two accounts I commonly tested on...
  6. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    You'd have to build and run it yourself locally. I'd love to provide something that people can challenge but running Foul Play, especially at its strongest settings, takes a fair bit of resources.
  7. pmariglia

    (Re-)Introducing Foul Play: A Competitive Pokemon Battle Bot

    Hello once again Smogon, It has been ... 6 years(!?) since I first posted about a Pokemon Showdown battle-bot that I've been working on. I'm here to share an update as I believe I've made some good progress. The unnamed project has been re-branded as foul-play. It is still a singles focused...
  8. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Yes! If an off-meta move that the bot would never have guessed is used, that move will be in the evaluation for the next turn. Furthermore, if the opposing Pokemon has used 4 different moves no additional moves will be guessed. Z-Moves and Max-Moves are ignored, the only thing I think is not...
  9. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    So here's the bot's 10-seconds of fame: Losing to aim in one of his videos: (Link starts at the match versus the bot, the final one of the video) Yes I am a filthy team-thief.
  10. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    You shouldn't need to change the login URI as logins are handled globally. All you should need to change is the websocket URI. Trying sim.psim.us:8000 actually logs into the official PokemonShowdown websocket (the bot challenges on play.pokemonshowdown.com). Inspecting what my browser is doing...
  11. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    I have a private Trello board that I use to keep track of my personal todo list. I've had a few people express interest like yourself so I may start putting some items on the GitHub issues. This team gave me the best results. I haven't done testing in a couple of months since my last post about...
  12. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Hey hidekov, thanks for the kind words. You're right. The engine involves a lot of maintenance, and I definitely don't see myself keeping it updated in perpetuity. So my engine actually does more than just calculate damage. It is a Pokemon battle engine that will spit out all of the possible...
  13. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Looks like you're having some trouble installing pandas on Windows. I'd consult a guide on how to do that :) It takes time. If you're interested in writing your own from scratch I'd recommend familiarizing yourself with websockets, and then read the pokemon-showdown protocol. It's a project I...
  14. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    All excellent points. Oof. Yeah the whole ditto transforming aspect is not understood. I've had some problems with that. Hard to say exactly what it was thinking without logs of the battles. I've certainly observed some bonehead decisions as well. I can say for certain that any...
  15. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Thanks :) The standard search depth is 2-turns ahead. This is configurable but going to 3 & above could (read: probably will) cause the bot to lose on time. I've given up on optimizing to search further into the game because I've found that I get much better performance if instead I focus on...
Back
Top