Recent content by pmariglia

  1. 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...
  2. 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.
  3. 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...
  4. 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...
  5. 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...
  6. 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...
  7. 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...
  8. 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...
  9. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Well I dug up some old code and tried using the Nash-Equilibrium as the decition making method. It wasn't as bad as I thought. This also includes a good amount of other improvements to the bot, mostly with understanding more niche abilities that I was too lazy to initially make logic for. Here...
  10. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Actually my first implementation of the decision logic was using the Nash Equilibrium. It was awful. My assumption at the time was that the bot needed to see deeper into the game to be more effective, so I ditched that path in favour of being able to prune paths in the tree. The problem with...
  11. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Update! Alright Austin I concede defeat. After a bunch of testing I decided to drop the non-deterministic nature of the decision logic in favour of various caching mechanisms and being able to search an additional depth in a reasonable amount of time. Still mainly focusing on random battles...
  12. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    You're absolutely correct, and for this reason I made the threshold for this extremely small. Most of the time only one move is the option because that move is better than the others. Let me give an example. The image below is the evaluation result of a two-turn transposition. The state is a...
  13. pmariglia

    Programming Yet Another Pokemon Showdown Battle-Bot

    Hello Smogon, I'd like to share yet another attempt at making a worthy Pokemon Showdown battle bot. This bot takes an approach similar to most others - transpose through the game as far as time permits, evaluate the resulting states, and make a decision about what the best move is. In an...
Top