If I use this, is it cheating?

That's a fantastic question, but one without a clear answer. On one hand predicting the users next move can solve half of the decision making process needed to play the game when it works, and on the other hand relying on it to work is a complex decision in itself. There will continue to be discussion on this topic, and if you want to be apart of it, the Pokemon Showdown forum is a good place to start.

How did this project come to be?

During live sporting events, it's common to find websites that have a team's current chance to win. As both a large sports and Pokemon fan, I figured the two share many similarities from a data perspective and sought to reverse engineer those chance to win predictions using Pokemon as a fun starting point. However, the idea didn't get off the ground until being stuck inside had me bored back in April. Over time I realized you could do more and more with machine learning than just the chance to win, so eventually the project expanded to predict what players will do. And after a couple of months, I ended up with a few really good working models and figured I'd release them!

How many battles does it take to train?

The models can produce their best result when trained on at least 4,000 battles, which becomes ~120,000 individual turns as data points. Any number less than that can work, but not enough can be learned to produce the full range of results needed.

How can I get involved?

The best way to get involved right now is to use the extension and send any feedback to the email below. If you are a programmer with JavaScript experience and/or knowledgeable about machine learning, then feel free to reach out as well as help in those departments is always welcome.

I found a bug?

You probably did, so send an email with details on the problem and how to recreate it so they can be fixed!