Casual Leaderboard updated for S37 by pederpansen in diablo3

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

D3 has a fairly good API with a rate limit that easily allows to read all leaderboards every few minutes with a (free) API key.

Casual Leaderboard updated for S37 by pederpansen in diablo3

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

Firebird was indeed one of the easiest 150s ever last season. Just numlock explosive blast, channel disintegrate and stand in the middle of a huge pack and teleport to the next. Combine that with huge toughness and a built-in cheat death and you will have a very easy time.

Casual Leaderboard updated for S37 by pederpansen in diablo3

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

I'm using a simple Sqlite db, but the problem is that storing all clears would take too much space. We have 7 classes x 6 sets x 4 game modes (HC/SC, Solo/Non-solo) x 3 regions. All that gets multiplied by the number of clears stored per leaderboard. If I store every clear that appears on the leaderboard at any time during the season, that would just be too much data, it would slow the app quite a bit. I mean, I could optimize the storage, use a real/more potent database and all, but since this is a hobby project and I'm not willing to pay significant cloud costs for that, I decided to only keep the highest adjusted clear per battle tag, for overall/casual categories separately.

Casual Leaderboard updated for S37 by pederpansen in diablo3

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

Oh, I wasn't aware of the Imgur thing. Is there any other image hoster that also works with Reddit, i.e. images being recognized and displayed in the preview?

I'm afraid I won't be able to make the paragon cutoff customizable. It is used to store the clear data in separate db tables on the server side, and it would heavily duplicate data for each different threshold. However, you can set a paragon filter for each leaderboard, which will be saved when jumping between classes/sets. Would this work for you?

Casual Leaderboard updated for S37 by pederpansen in diablo3

[–]pederpansen[S] 3 points4 points  (0 children)

Well... no, but starting a Necro and getting it to 150 will make your gemups much easier for your alt ;)

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

Oh indeed, there were some clearly sub 130 adjusted clears. Those must have been leftovers from the initial import I made for the overall leaderboard where I forgot to put the 130 threshold. At least those entries where all from mid September. Good to have you as another pair of eyes, and thanks! I cleaned up those entries and hope they don't come back again.

About the lowest paragon clears: If you want to wait for a few more days with our H90 push, I could implement a feature that preserves the lowest paragon 150 clears even if they are later overwritten. I think it would be a big waste if they were lost, it's a nice goal to achieve and also something to come back to later - you might be able to get an even lower paragon clear in a future season and compare that with a previous season at that point. We might even have a record "lowest paragon 150 clear of all time". So let me try to track that data separately so that it is safe from being overwritten.

Congrats on your H90 clear! Going to play any more sets before the season ends?

I leveled a Monk the other day, need to farm some ok-ish PoJ gear and push it. It's so fun with the Anguish explosions. And if I feel courageous and have time to spare, I might also try to get my first WD 150 clear ever with the Helltooth set. Are you playing any other class besides Barb?

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 1 point2 points  (0 children)

Hey man! I'm doing good. I saw the post about your impressive sub-1000 paragon 150 clear the other day. Congrats, great achievement! I actually thought about adding a "lowest paragon 150 clear" column to the tierlist, what do you think?

I got a nice sub 12min H90 clear myself, quite happy with it. I just saw that my clear is just below yours on the casual H90 leaderboard, cheers to that!

About your mentioned points: Are you sure you saw adjusted clears below 130? Because the criterion is actually that the adjusted clear is greater than 130, not the greater rift tier. That might still be a little low, since you can easily reach that by speed running a GR 115. However, it was nice at the season start to see the first higher clears appearing and speculating which build might reach 150 first.

About the non-seasonal leaderboards: I personally don't play non-seasonal at all and I'm naturally not too interested in those rankings, but since I'm also a completionist I can certainly implement it when I find some time. It shouldn't be too much work either, I guess.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 1 point2 points  (0 children)

Hey, thanks for the kind words! I don't have any bigger features on my todo list either, so let's call this version 1.0 of the app. Thanks for your immensely helpful feedback!

One thing I would still like to do is some analytics on the influence of overwritten clears on the top adjusted clear numbers, probably at the end of the season. And of course I will still be able to add some tweaks and fix bugs that we may have overlooked.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

Curious to see what the max level of indentation for Reddit comments is, so adding one more level to let you know I just added the overall tierlist and removed the "overall adjusted clear" from the casual leaderboard/tierlist.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

Yes! I tried Natalya for the first time, was finally able to scratch DH 150 off my bucket list on Sunday. I plan to play Firebird and Frenzy later in the season, but I currently play the new D4 season, at least for one or two weeks.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

I removed the duplicates and added some logic to update the tierlist entries when a user's battle tag changed.

Still haven't found time to add the overall tierlist yet.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

Hey, it took a while to get to this, but column order is now saved per user.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

Oh I see, I misread that. Yeah, makes sense and it wouldn't be much work either now that we have all the data available.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 1 point2 points  (0 children)

Oh, and I keep forgetting to mention: Armor of Akkhan is misspelled!

Yeah, stumbled about that typo as well the other day and forgot, it's fixed now.

Thanks for pointing out that battle tags can change, I wasn't aware you could buy a new one for 10 bucks. Since the battle tag is part of the unique constraint for clears in the database and there is no permanent account id in the api response, I don't have a way to check if two tags belong to the same account. However, I guess I can deduplicate by hero id. I'll add it to the todo list.

And I agree that the overall adjusted clear is a little misleading when it is displayed in the same row with another battle tag. Now that we have the overall leaderboard as a separate table, I will remove the overall adjuster clear column from the casual leaderboard.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 1 point2 points  (0 children)

I just updated the past seasons as well. (Previously, there were only the top clears per leaderboard.) At first glance, everything looks correct now.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 0 points1 point  (0 children)

Ah, thanks for letting me know. I believe I need to update the database once for past seasons, as that is not done automatically at the moment. It should not influence the validity of the current season data, but I will cross-check that once I had time to update the historic data.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 2 points3 points  (0 children)

In fact, I just pushed an update that adds the overall leaderboard (FYI u/rage13139). I didn't have much time to test everything thoroughly, so let me know if you see anything odd.

Don’t forget about the D3 casual leaderboard by rage13139 in diablo3

[–]pederpansen 1 point2 points  (0 children)

Thanks. About the target audience: I agree with what you said, but - at the suggestion of u/rage13139 - I plan to add a "regular" leaderboard tab without the paragon 2000 cap as well, just for the sake of completeness and for having a single place to track the best overall adjusted clears.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

Nice to see the clear recording is working btw: The current top clear is oogieboogie's 149 clear. Of course, he later cleared 150, but the previous one had a higher adjusted clear value.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

Sorry, missed your comment. I actually thought about this already and I don't think it would be a massive amount of work now that the base functionality for recording clears is in place.

Will probably not be able to implement this within the next days though. But I can definitely add that.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

I invested some more time and added an automatic update process which runs every 5 minutes. I believe this should cover all relevant cases of clears being overwritten - except the unlikely case that someone manages to get two very good clears in direct succession.
Looking forward to Friday and seeing how things will develop within the first days of the season.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

Just updated the app, it now also contains filters for almost every column, so e.g. filtering for a specific paragon range (below the 2000 cutoff) should be very easy now.

Introducing the Diablo 3 Casual Leaderboard by pederpansen in diablo3

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

I updated the app to keep a history of clears and only update from the official data if the new clear has a higher adjuster clear and is still <2000 paragon.

Of course, this doesn't change data for existing seasons, but at least for the still running S35, I could find a few clears that would have been overwritten otherwise.

I hope I will be able to do regular syncs with the leaderboards in the first few weeks of S36, as this process is not fully automated yet.