Programming Tournament Match Checker

Hey guys,

one of the things which always annoyed me about Smogon was that in which tournaments you were was quite the act to figure out and most of the time you had to manually search for your opponent since he wasn't tagged.

So what am I talking about?

Today I propose a tool which partly fixes this problem because it:

a) Lists all tournament games for a certain Smogon user
b) Provides the link for a user if he posted somewhere in the Smogon tournament forums
c) Says if the match is still open or not (and tags the winner if possible)
d) Adds replays if found
e) Sorts the tournament games by the date of the "vs" post
f) Updates the content daily

This solution isn't perfect and still needs some improvements but I think it's a good step in the right direction.

Show it!

If you want to see this tool in action, look here:



Enough of it, where do I get to use it?

The tool: http://fulllifegames.com/Tools/MatchChecker/
Code for the crawler: https://github.com/FullLifeGames/TournamentParser
 
Last edited:
I worked some more on this and the new updates include stuff like:

- merging two probably identical matches (eliminate replay threads)
(e.g. for SPL many players had the same matches twice saved since they matches were defined in the week thread and in the replay thread, the merging sees when you find a match, if there is one which is against the same opponent in a time frame of a week + or week -. If yes, it merges it into the older match post (probably the week thread, not the replay thread, and adds the winner or the replays if applicable)
- include signup posts to include more users to be linked
- Change the username filter since Smogon usernames can include special characters and for example HC and H-C are a different user
- in a win post with replay: If no opponent can be found in the post by going through the currently saved matches, it uses if applicable the previously obtained match in a thread instead of going through every user and searching for something to map
- "Trying" to exclude posts where users in a tournament thread just post replays for someone else but this is still a problem when the user also has to play for the same tournament as the program sees these replay posts as replays for the match of the user
- Fixes (a lot of them)

Still some things which are bugging me but I'm much happier now with this version!
http://fulllifegames.com/Tools/MatchChecker/
 
I worked again a little bit on the match checker and included some new options in the MatchChecker!

You can now:

- Search for a certain tournament the user participated in
- See the winrate of the user

I also fixed again some stuff so the merging now works! (e.g. no SPL replay threads in a perfect scenario, only the week thread with the replay! :])

Here you can see how it currently looks:

 
This tool is awesome! Fun to play with and really useful, love the work. I have a small request (I think it's probably pretty easy to implement, but I could be wrong I guess haha); when we use a subfilter such as searching for a tournament, I think it'd be cool to see the "winrate" modified for only the matches that were filtered through (this could either replace the overall win rate, or be a seperate text box that pops up when not empty, i don't care much either way). I think the win rate stat is really interesting and would love to see more ways to play with it.
 
This tool is awesome! Fun to play with and really useful, love the work. I have a small request (I think it's probably pretty easy to implement, but I could be wrong I guess haha); when we use a subfilter such as searching for a tournament, I think it'd be cool to see the "winrate" modified for only the matches that were filtered through (this could either replace the overall win rate, or be a seperate text box that pops up when not empty, i don't care much either way). I think the win rate stat is really interesting and would love to see more ways to play with it.
Thanks for your feedback man, I appreciate it!

For your feature:
I implemented a method which now always calculates the winrate again when you are searching for something!

I also added a new option to the search filter!
You can now add a "|" if you want to find e.g. OST or SPL with "Official Smogon Tournament | Smogon Premier League".
 
Thanks for your feedback man, I appreciate it!

For your feature:
I implemented a method which now always calculates the winrate again when you are searching for something!

I also added a new option to the search filter!
You can now add a "|" if you want to find e.g. OST or SPL with "Official Smogon Tournament | Smogon Premier League".
Awesome. I was fooling around with it and noticed some mistakes in the tool, I figured I should give you the test cases so you can figure out what went wrong.

All cases are under searching for my username.
1) When searching "World Cup of Pokemon" only 4 of my games appear, while searching for "World Cup" brings up all of them
2) Searching Smogon Snake Draft is missing my phase 1 game vs Level 56
3) When I searched "Official Smogon Tournament" I got the following result: https://puu.sh/zpOaB/d61199a356.png. I don't remember the game at all but when I click on the thread and see the result, it says I won, so something must have gone wrong.
 
Awesome. I was fooling around with it and noticed some mistakes in the tool, I figured I should give you the test cases so you can figure out what went wrong.

All cases are under searching for my username.
1) When searching "World Cup of Pokemon" only 4 of my games appear, while searching for "World Cup" brings up all of them
2) Searching Smogon Snake Draft is missing my phase 1 game vs Level 56
3) When I searched "Official Smogon Tournament" I got the following result: https://puu.sh/zpOaB/d61199a356.png. I don't remember the game at all but when I click on the thread and see the result, it says I won, so something must have gone wrong.
1) That's why they changed the name to "Pokémon" from "Pokemon" at some point. The "é" makes the difference.
2) You also battled Level 56 here: https://www.smogon.com/forums/threads/season-24-week-2-oras-ou-2-won-by-reyscarface.3614460/ which was close to your Snake Draft game so it merged them since it thinks this would be a equivalent battle. Would have to append the merging to only replay threads for this to work ... which will be difficult.
3) Well https://www.smogon.com/forums/threads/official-smogon-tournament-xii-round-1.3562534/ says that the game existed so I don't know what the problem here is.

Anyway thanks for the feedback, really appreciate that!
 
1) That's why they changed the name to "Pokémon" from "Pokemon" at some point. The "é" makes the difference.
2) You also battled Level 56 here: https://www.smogon.com/forums/threads/season-24-week-2-oras-ou-2-won-by-reyscarface.3614460/ which was close to your Snake Draft game so it merged them since it thinks this would be a equivalent battle. Would have to append the merging to only replay threads for this to work ... which will be difficult.
3) Well https://www.smogon.com/forums/threads/official-smogon-tournament-xii-round-1.3562534/ says that the game existed so I don't know what the problem here is.

Anyway thanks for the feedback, really appreciate that!
Regarding point 3, the tournament ends in the screenshot which is indicative of me losing, but I actually won that game, which is the problem I wanted to point out.
 
Regarding point 3, the tournament ends in the screenshot which is indicative of me losing, but I actually won that game, which is the problem I wanted to point out.
Ah now I see. Well I don't think I can do very much about that since it was falsely tagged that way in the OST thread.
 
Yo so some more recent issues, the filter doesn't seem to be working (I can type stuff there but have no way to properly apply the filter), also I have a lot of old matches from 2-3 rounds ago still marked as active which is kind of annoying. A quick look makes it seem like the active thing is determined at least in part by whether my name gets bolded or not in the OP, but some hosts are lazy (or just have way too many matches) and don't actually go through all that at the end of the round, so some other way of accounting for a battle being finished (like a win post, or existence in next round?) would be nice.
 
Last edited:
Yo so some more recent issues, the filter doesn't seem to be working (I can type stuff there but have no way to properly apply the filter), also I have a lot of old matches from 2-3 rounds ago still marked as active which is kind of annoying. A quick look makes it seem like the active thing is determined at least in part by whether my name gets bolded or not in the OP, but some hosts are lazy (or just have way too many matches) and don't actually go through all that at the end of the round, so some other way of accounting for a battle being finished (like a win post, or existence in next round?) would be nice.
I fixed the issue with the filter not working, it should be possible now again to filter the output!

For the winner determination: I'm already checking for win posts but I added a method which checks if you're in the new thread. Please check tomorrow if this produces the correct results!
 
Yo so some more recent issues, the filter doesn't seem to be working (I can type stuff there but have no way to properly apply the filter), also I have a lot of old matches from 2-3 rounds ago still marked as active which is kind of annoying. A quick look makes it seem like the active thing is determined at least in part by whether my name gets bolded or not in the OP, but some hosts are lazy (or just have way too many matches) and don't actually go through all that at the end of the round, so some other way of accounting for a battle being finished (like a win post, or existence in next round?) would be nice.
Now better?
 
yep seems fine now. Just curious, how do you handle players getting subbed out (like in r1s of big tours). I have that situation and i think it combined the names of the two players (the original, and then my new guy)
Since it is recreating the dataset every day, it should replace the switched player with the sub if the hosts follows an understandable format.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top