(edit: 5/6/2018, fixed a dumb bug so this can now use the most recent usage stats. It also doesn't break when a Pokemon set disappears from usage.)
MakeMyTeam
Optimized Team Generation, Pokemon Suggestions, and much more.
MakeMyTeam (mkmt) is a comprehensive Computer Teambuilding System. It is a tool to help build Pokemon teams.
Currently, only the OU tier is supported. The name is a pun off of "BreakMyTeam", which is the name of Orda's weakness checker, and also originates from Zarel's SweeperCalc.
Functions
The program uses the checks compendium to create a map of the coverage of every Pokemon in the metagame (what every Pokemon checks and counters, and what checks and counters those Pokemon). It also uses the usage stats, moveset usage stats, and heuristics which map the checks compendium to the moveset usage stats to find the usage of each individual Pokemon set. From there, it's possible to see what percent of the metagame any individual Pokemon can cover, and more importantly, the percent of the metagame covered by any team, which serves as a form of rating. From there, the generator can sort teams by metagame coverage, and output the highest rated teams.
Please note: OK, I'll be honest. The generation turned out to be a lot worse than I had hoped for, but I gave myself an impossible task to begin with. Don't expect great results from this program. This is just some project I worked on to learn to code, and I figured some of you would be interested in checking it out, even if it's not used for real teambuilding.
However, the one thing I believe the program does reasonably well is counterteam offensive pokemon.
Downloads/Links/Versions
The complete webapp version is now out! (This may not work properly on Safari)
Link: https://mkmt.herokuapp.com/
(It may take a minute to load if the server is sleeping)
github: https://github.com/UberPyro/MakeMyTeam
Some Other Info
Thorough explanations of how to use the program and how it works are on the website itself.
Note: The program is able to generate entire teams by itself. Those teams are bad. It is actually very difficult to rate teams using the checks compendium due to its nature of having a lot of missing data (and there's no real way to fix that). The program will generate better teams the more you give it guidance. You have to work with the program. Have it generate smaller groups of Pokemon at a time, give it good Pokemon to start with, consider all the options it asks for, and consider all the teams it generates.
Where this is headed: I plan on making a better version of this someday (because let's be honest, the team generation is pretty bad in this one). I think the next step is to be able to chose a role for each Pokemon it generates, which would significantly reduce the time complexity and give it a lot more guidance in its selections. Additionally, I want to come up with a better way to measure metagame coverage, perhaps using the damage calc to replace/patch up the checks compendium, and also taking into account movesets like if a Pokemon can recover stall another another, or if a Pokemon needs to set up to be able to check another.
If you have any questions, comments, suggestions, fixes, or anything, then you can contact me on PS! or Smogon. I don't have much time to work on this at the moment, but I'll take care of bugs and things like that.
MakeMyTeam
Optimized Team Generation, Pokemon Suggestions, and much more.
MakeMyTeam (mkmt) is a comprehensive Computer Teambuilding System. It is a tool to help build Pokemon teams.
Currently, only the OU tier is supported. The name is a pun off of "BreakMyTeam", which is the name of Orda's weakness checker, and also originates from Zarel's SweeperCalc.
Functions
- brmt (Weakness Checker)
- Metagame Coverage Rankings List
- Pokemon (Coverage) Data
- Partner Finder
- Core Builder
- Team Generator
- Team Completer
- Replacement Suggestor
- Custom Generator
- Counterteam Generator
- Team Comparer
- 2-Team Check Map
- Usage Stats By Set
The program uses the checks compendium to create a map of the coverage of every Pokemon in the metagame (what every Pokemon checks and counters, and what checks and counters those Pokemon). It also uses the usage stats, moveset usage stats, and heuristics which map the checks compendium to the moveset usage stats to find the usage of each individual Pokemon set. From there, it's possible to see what percent of the metagame any individual Pokemon can cover, and more importantly, the percent of the metagame covered by any team, which serves as a form of rating. From there, the generator can sort teams by metagame coverage, and output the highest rated teams.
Please note: OK, I'll be honest. The generation turned out to be a lot worse than I had hoped for, but I gave myself an impossible task to begin with. Don't expect great results from this program. This is just some project I worked on to learn to code, and I figured some of you would be interested in checking it out, even if it's not used for real teambuilding.
However, the one thing I believe the program does reasonably well is counterteam offensive pokemon.
Downloads/Links/Versions
The complete webapp version is now out! (This may not work properly on Safari)
Link: https://mkmt.herokuapp.com/
(It may take a minute to load if the server is sleeping)
github: https://github.com/UberPyro/MakeMyTeam
Note: all of these run in a command shell. Also, these may have to have their stats updated (read the documentation in each one to know how).
mkmt 3.0 (this is mostly the same as the webapp but I think the counterteamer is bugged).
mkmt 2.0 (inferior version but I'll leave it here if you want... the way the generator works is a bit different)
(version 1.x is just a massively inferior 2.0)
mkmt 3.0 (this is mostly the same as the webapp but I think the counterteamer is bugged).
mkmt 2.0 (inferior version but I'll leave it here if you want... the way the generator works is a bit different)
(version 1.x is just a massively inferior 2.0)
Some Other Info
Thorough explanations of how to use the program and how it works are on the website itself.
Note: The program is able to generate entire teams by itself. Those teams are bad. It is actually very difficult to rate teams using the checks compendium due to its nature of having a lot of missing data (and there's no real way to fix that). The program will generate better teams the more you give it guidance. You have to work with the program. Have it generate smaller groups of Pokemon at a time, give it good Pokemon to start with, consider all the options it asks for, and consider all the teams it generates.
Where this is headed: I plan on making a better version of this someday (because let's be honest, the team generation is pretty bad in this one). I think the next step is to be able to chose a role for each Pokemon it generates, which would significantly reduce the time complexity and give it a lot more guidance in its selections. Additionally, I want to come up with a better way to measure metagame coverage, perhaps using the damage calc to replace/patch up the checks compendium, and also taking into account movesets like if a Pokemon can recover stall another another, or if a Pokemon needs to set up to be able to check another.
If you have any questions, comments, suggestions, fixes, or anything, then you can contact me on PS! or Smogon. I don't have much time to work on this at the moment, but I'll take care of bugs and things like that.
Last edited: