• Follow our Instagram!
  • Curious about what we're currently doing about bots? Check out the latest updates from staff in this thread.

PS! PS Dashboard! - A chess engine for your Showdown replays!

Hey there,

after building the Showdown Replay Scouter, I always knew that there had to be more, specifically with a single replay and what you can learn from it.
I always wanted to take a replay and figure out what would've happened if I had played differently.

So, I tried in 2022 and .... I failed. I failed because while the @pkmn libraries are amazing, the time wasn't right for me to put that kind of investment into such a project.
However, now in 2026 times have changed: with AI coding tools, building software that was unfeasible or too complex before is suddenly becoming possible, which is why I gave it another shot. And to be transparent: a lot of the code was written with AI assistance and my guidance, otherwise this would not have been possible for one person.

After months of building, I present to you:

PS Dashboard!

ps-dashboard.png


What is this?

PS Dashboard is a tool that allows you to take a replay, analyze the used teams, and branch & play from any turn you like. With this it gives you the freedom to explore all kinds of "What if I'd gone Garchomp here" scenarios and practice on your own replays. In addition, you are supported by a custom-made engine that judges every turn and provides ideas on what the best turn could've been. This engine additionally offers a game report that shows the highlights it calculated, including how much of the game was decided by the players and how much by luck. If you are not interested in playing yourself, you can also just let the engine do it (beware of the results though).

It works with Singles, Doubles, VGC and Pokémon Champions, and you can load pretty much any replay: links, ids, private replays, smogtours replays or a downloaded replay file. If you find a cool line, you can share your branch as a link, so feel free to post your "what ifs" in this thread!

If you want to see it in action right away, have a look at LordEnz vs. Dflo (WCOP 2021), hit "Analyze game" and click on any point in the graph.

What is the state of this project?


This project is now in public beta. I have been working on this project on my own for half a year on / off and got some expert feedback, but one man is not enough to build such a thing. I'm very interested in hearing your feedback and also getting this out publicly, since I expect that such a tool probably already exists, but only for a small circle of people, and I want to make sure the playing field stays even. Same reason why it's meant for studying your finished games, so please don't use it during a live tournament or ladder game.

If you find a wrong set, a position that doesn't match the replay or an engine call that makes no sense, just post the replay link and the turn here or use the "Report issue" button in the app. It lets you download the state of the app and opens a prefilled GitHub issue where you can attach it, so I can see exactly what you saw.

How does the branching work?

The branching engine takes the current state of the replay and tries to re-create it with the @pkmn libraries as accurately as possible, down to PP and disabled moves. Then all options are offered and the game is played normally through the @pkmn libraries. You are able to control hax like crits, flinches, etc.

How does the engine work?

The engine is a WIP self-built engine that can evaluate battle states and uses methods like MCTS to try and foresee the battle's future. Its win chances are calibrated on real games, mostly Gen 9 OU, Doubles OU and VGC. This was honestly a lot more work than I hoped, especially if you have to account for EVERY game format, so it is far from perfect. Just don't rely on it and see it as a potential helper and then you'll be fine. If you want to know what exactly it calculates, have a look at EVALUATION.md.

With all the bots popping up, a bot provider can already plug their bot-engine into PS Dashboard: it talks to engines over a small HTTP protocol (ENGINES.md), and the parser and the engine are also on npm (@fulllifegames/replay-core and @fulllifegames/eval-engine). So if any bot provider is reading this and interested, feel free to submit a PR or file an issue on GitHub!

How does the set determination work?

To determine the sets of Pokémon in a team, I used a combination of what I learned from the Showdown Replay Scouter, the Smogon Stats, the Smogon sets and stat inference from the damage in the replay. It's a lot of back and forth here, and again it's sadly not perfect since the stats only have the distribution and not how the moves work together, but it's a rough estimate of reasonable choices. Every wrong choice you see can be edited by yourself (or imported as a Showdown team), if you want a more accurate picture!

I heard enough, where do I get it?


I got you, here is the code: https://github.com/FullLifeGames/PSDashboard
And here is the tool itself: https://fulllifegames.com/Tools/PSDashboard/
 

Attachments

  • ps-dashboard.png
    ps-dashboard.png
    422.7 KB · Views: 712
Last edited:
I have no words for this. It is something I have been expecting since 2021 and luckily you made it possible. Ofc it had to be you hehe. Thanks for all the efforts you are doing with all your tools, hands down, and you earn my eternal respect.
 
when importing a team, is there a way to change which player the team is imported for?
also, is there a way to manually set evs abilities and items other than importing a team
 
Last edited:
This is awesome, I was working on a skeleton for something similar, all be it way less ambitious, at the start of the year and gave up. You have blessed us with another awesome tool, thanks!!
 
Really amazing tool! Would it be possible to deactivate move / abilities validation for custom games analyzes? Currently, it doesn't allow using illegal moves and abilities for review. It would be great to be able to analyze sequences in custom formats. Thanks for the amazing work.
 
Really amazing tool! Would it be possible to deactivate move / abilities validation for custom games analyzes? Currently, it doesn't allow using illegal moves and abilities for review. It would be great to be able to analyze sequences in custom formats. Thanks for the amazing work.
Supported now in 1.1.0.

In general, 1.1.0 changed a lot UI-wise and allows you now to control hax, check it out:
 

Attachments

  • vlcsnap-2026-11-07-16h56m36s780.png
    vlcsnap-2026-11-07-16h56m36s780.png
    452 KB · Views: 57
  • vlcsnap-2026-11-07-16h56m45s851.png
    vlcsnap-2026-11-07-16h56m45s851.png
    1.2 MB · Views: 54
Last edited:
First, thank you for this tool, I think it is a huge step forward for the game overall to have such help available!
If it helps here's my feedback from trying to use it on this replay and a couple of others, I'll send bugs as you requested.

Feature requests:
- I wish I could let the engine pick the leads then play out (maybe it's just me that didn't find how to do it).
- Better engine, but you are already aware.

UI:
Oh boy, the UI needs a revamp and that is the toughest part.

First, there are currently 3 ways of going from a turn to another: the classic PS replay buttons, the "Timeline" section and the game graph once an analysis have been ran. Removing redundancy would make the tool look cleaner.

Then there's some unnecessary text that take up space too, such as "built-in engine: it plays the turns in the simulator" or "graph: a quick pass over every turn, then auto (matrix early, MCTS late) on each". I don't think users would complain if they're gone.

Finally when the analysis and the play-out has been run, it becomes a bit hard to navigate the interface. I specifically had trouble to find how to discard a play-out variation since it was not at the same place where I started it. Information about branches from the current turn are also at 3 places, the matrix, the next turn pick and the "variation move" section.

Anyway, keep up with the amazing work you're putting, I've been using your tools for a while now!
 
Back
Top