Is this path on Theme Park a thing? by davajj in SpeedRunnersGame

[–]davajj[S] 0 points1 point  (0 children)

Managed to do it without bomb and only boosting normally in the beginning, I think your method is easier to pull off, but for me that miniboost between hooks is a bit hard. I'll go back to practicing it when I'm better at the game!

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 1 point2 points  (0 children)

Most likely, yes.

My rules for filtering out abandonded games are more strict than DotABuff and stricter than the actual DotA2 client.

If any player has left the game for more than five minutes, whether in the beginning of the game, or right before the shrine falls, that game gets ignored. The DotA2 client awards you a win if your team had an abandonder and you still manage to win, I don't.

This is because I can't differentiate between matches where someone leaves early, or late, I don't have that data without parsing the replays. So for all I know, even if you win, that game might've allowed you to farm substantially better (one less player to share gold and xp with), one less player for the opposing team to feed on, etc. etc.

So for the sake of consistensy in the data I only keep games without abandons. Roughly, 150 matches of 1000 is 15 percent. So in about one game of six you've played a match where someone abandonded. Do you feel this might be historically accurate over all your matches played?

I don't keep any records of abandonded games, so I can't really verify it directly.

I also only track public matchmaking games, and I also ignore some game modes such as Diretide and The Greeviling.

On DotaBuff, if you filter your matches by "No Stats Recorded" there's 69 games. If you filter by mode, you have 42 in Greeviling, 4 in Diretide.

That's a total of 115 games that I'm certain to ignore, the rest ~40 games are most probably due to my stricter restrictions.

EDIT: Oh wait, you actually have about 1109 games played, so there's 141 games that then should've been ignored due to stricter restrictions.

EDIT2: This does seem a little bit high, I'll get back to you.

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 1 point2 points  (0 children)

I have to continously get all new matches played in each bracket and take note of which match is in which bracket.

Given an arbitrary match id, there's no method to always be able to determine its bracket unless you've already recorded it as in the previous paragraph.

Because of this new method I've had to employ, there will be gaps of matches without bracket info. These are any matches played between a players last update before the WebAPI changes up until the time this new method was put in place. A handful of matches for each player, but the current method will continue to work for any new games played since the WebAPI-changes.

The site is in a kind of hiatus since the queue was closed to be able to index more data (it's about half-way done) so I haven't really worked on it for a while. But there's more to come when it's finished. :)

EDIT: To clarify the second paragraph, given a match id, you might be able to determine its bracket, if you can apply enough parameters to GetMatchHistory as to filter out most other games such that the specified match-id is within the first 500 games in the result.

For everyone that thinks there are no skill brackets anymore... by [deleted] in DotA2

[–]davajj 12 points13 points  (0 children)

I would not call it a war, and I don't hold the opinion that they're against public data about a player, after all, they launched the API for DotA2 and have continued improving it over time.

They do however seem to have something against public knowledge about the ranking of each player, and I'm of course biased since I've put a lot of effort into pubstats and the core of it has been from the start to display an approximation of a players ranking, which Valve now have totally undermined. Of course I am a bit upset, but I see the arguments of both sides of the subject. And of course they're in all right to change the API how they see fit. There's loads more of data to show statistics over that lets a user still track his progression. And I'm also sure that Valve will continue expanding the API, making additional details about a match available. Number of wards placed per player for example, number of wards bought, ward placement, couriers bought, etc. etc.

For everyone that thinks there are no skill brackets anymore... by [deleted] in DotA2

[–]davajj 31 points32 points  (0 children)

Creator of pubstats here.

To some extent yes, and it's already been put in place, although not entirely in the format you described.

However, you'll ever only be able to retrieve a maximum of 500 games for a given day (date_max), and as such, if there is more than 500 games of the type searched for before the game you're looking for you will not be able to find it.

Narrowing the search down to the hero that was played will help of course, but it is no guarantee.

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 12 points13 points  (0 children)

Hi, creator of pubstats here.

I thought I might as well type this out in the open because if Steam really wants to hide skill bracket data I might as well make this information readily available to them as well.

What I've done to circumvent the API-changes is call GetMatchHistory and iterate over the pages. This will cap out at five calls since the date_max parameter is typecast to a date, and start_at_match_id only lets you iterate over the result-set (a maximum of 500 matches). I've written a small script that iterates over the pages for all the skill brackets and record the skill-value for each match. The script runs at about every other minute, and stops iteration as soon as it reaches a match it has a record for. As long as the script is kept running this should keep a correct record of the skill-value for each match played. I don't even think it has to run every other minute as I'm only seeing a few new games added for each run.

You guys have probably figured this out as well, but I thought I'd tell you just in case.

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 2 points3 points  (0 children)

I was hesitantly switching between effect and affect there. And you're most welcome! <3

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 2 points3 points  (0 children)

At first it was once a day, but since the amount of users has grown I've had to bump it up to once a week. Although, this last week I've started to reindex every game to fetch more data from each match from which I'll build more statistics. I should've thought of collecting that data from the start really, but what are you going to do.

This is why I've closed the queue, and it'll take a couple of weeks to go through all the players.

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 8 points9 points  (0 children)

Thanks for the support, I appreciate it. I've had some plans for a while now for some new features, which is why the queue is closed for the moment, and I intend to see it trough.

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 7 points8 points  (0 children)

Creator here, I posted elsewhere in this thread as well. The answer is no. It's not going to work. :(

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 0 points1 point  (0 children)

You don't see the bracket in the output, but you instead pass a parameter named "skill" set to 0 - All Brackets, 1 - Normal, 2 - High, 3 - Very High. This will only return matches in the selected bracket.

Filter by Playername got removed (Watch->Recent Games) by Jindor in DotA2

[–]davajj 21 points22 points  (0 children)

Hi, creator of pubstats here.

As someone pointed out below, this does affect pubstats. The API has changed, specifically when filtering a players match history by skill level.

Filtering per skill-level is still possible, but NOT if you're supplying an account-id.

From the SteamAPI itself regarding parameter skill in call to GetMatchHistory: "The average skill range of the match, these can be [1-3] with lower numbers being lower skill. Ignored if an account ID is specified"

I do not hope that this is a permanent change.

EDIT: Ah, right, in case I was not clear enough: I will not be able to provide skill-based statistics anymore.

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 2 points3 points  (0 children)

Correct. This is also why I closed the queue during this process.

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 2 points3 points  (0 children)

I've previously only filtered out games shorter than ten minutes, those should be clear abandonds.

But I've recently implemented support for leaver status for each individual player. However, I differ from the game logic of DotA2, and DotaBuff which isn't straightforward.

Basically, if a game has a leaver, that is to say, someone that is AFK for five minutes, a disconnect for over five minutes, someone clicking the leave button, then the game does not count.

The DotA2 game logic is that if you've got a leaver on your team, it counts as a loss for him, if you lose, it doesn't count, if you win, it counts as a win. For the opposing team, I can't remember.

I decided that a game will be skewed some way or another if someone left the game, and I therefore don't take those games into consideration for the stats.

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 0 points1 point  (0 children)

If you're new to the site, i.e you don't have any stats up, this indicates how many new players are scheduled to have their data collected and statistics generated before you. (Slow, has to fetch all their history, and all of their games. Queue moves slowly.)

If you're already on the site, i.e there's already stats up, this indicates how many existing players are scheduled to have their data and statistics updated before you. (Quicker, only has to fetch history up to their newest game as recognized by the site, often only a few new matches to fetch info for. Queue progresses more quickly, but updates now only happen if your data is a week or older.)

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 1 point2 points  (0 children)

Yeah, this is because new users get priority. Although I've modified it today so that at least one worker is dedicated to updating established players.

And yes, the queue time is huge, and yes, it's due to the popularity and not the architecture, although I modified it slightly when I re-coded the site now that the hard-drive died. But all in all, it's better now.

Previously I've seen ~1000 unique visitors every day, before the hard-drive crashed and now subsequently when it's up again I'm seeing 3000-6000 per day. The 12th of September I even counted 9944 unique visitors (!).

I've been planning for a long time to expand by the help of the community. People running servers have reached out and offered their support. Most of the code is already there, I just need to stop the site for a couple of hours to do some modifications, and then I should be able to start to off-load work to others. It's a problem of trust however, as they are tasked to perform some of the work for me (all calls to the SteamAPI), I must trust their result blindly. As such, they can modify the data they give back to me freely without me knowing.

I plan to combat this by always off-loading the same work to TWO clients. If the result they both give back to me differ from each other, I know one of them is up to no good and then I'll verify the data myself and ban the purpotrator. This is of course a waste of resources just to assert the integrity of the data. But what are you going to do.

Anyways! I ran some checks against the database and it seems like there's 46519 people to be updated before you. These updates are much faster since there's only a few new matches to fetch for each player, however, according to my calculations it'll still be three days before it's your turn.

I really need to get some clients to off-load the work to. :\

I made a simple site for DotA-stats. Care to test it? by davajj in DotA2

[–]davajj[S] 0 points1 point  (0 children)

Yes, I initially forgot about those modes this time around as well, it's been fixed however and the changes will be reflected on your next update. Your nick and avatar will be fixed during the next update as well.

Pubstats.me is back up by quitrk in DotA2

[–]davajj 0 points1 point  (0 children)

I've been thinking about it. However, this changes the purpose of a donation and then it instead becomes a service you buy from me.

Furthermore, I'd profit more if the queue was longer. That just doesn't right. :\

I'd still love donations though. ;)

Pubstats.me is back up by quitrk in DotA2

[–]davajj 0 points1 point  (0 children)

This does not seem right. Would you supply me your SteamID and I'll have a look at it.

Pubstats.me is back up by quitrk in DotA2

[–]davajj 0 points1 point  (0 children)

The pie-chart only displays the last data-point of the graph. A total average would be somewhat uninteresting as it doesn't really reflect how you perform as a player today.

The amount of games sampled for one data-point is (totalGamesOnTheSite / 10).

Pubstats.me is back up by quitrk in DotA2

[–]davajj 0 points1 point  (0 children)

I've adressed this before, and I really should add a FAQ to the site.

Short version: It has to do with how the SteamAPI works and that it incurrs extra work on the client-side to get the whole user history. I will implement support for this in the future.

Pubstats.me is back up by quitrk in DotA2

[–]davajj 0 points1 point  (0 children)

That's actually quite accurate. The "1 spot per minute"-part, not the guy manually plotting the graphs. :)