2022-12-04 Release Notes - Advanced Filters, & Unlocks!

Oh man we’re finally here, I was starting to think this day would never come. The filters, the endless filters with all their options and combinations, holding me captive for hours on end. Or you know, that’s what I might say had they affected my sanity at all… ahhaa let’s move on.

For a long time I focused on what could be tracked, working through the scoreboard icon by icon. Then I took some time to improve some other bits of the site, and with each thing, expanded my abilities little by little. A while back I had the idea of doing a sort of “update advent calendar” which really excited me, but then some stuff happened, and time wasn’t as plentiful as I’d hoped. In the end I decided that rather than doing a bunch of smallish things, I was going to tackle one of the most requested and complicated features - advanced filtering.

Many people have asked to be able to filter by this thing or that, but I’ve long said that if I’m adding more filters, I’m doing it properly - if I can, I don’t want there to be any filter you can’t create. Funnily enough, it turns out that achieving that and having it be at least somewhat user friendly is a bit of a challenge. I’ve gone through many revisions before reaching what I’m releasing today, I hope you like it as much as I do.

Advanced Filters

May I present to you the new, advanced filters:

It’s a bit different, right? What you’re seeing there is existing Overview filters in the new advanced UI - the old UI is still there though; it’s just now termed “Basic mode”. In an attempt to make the new UI easier to understand, you can swap between the two modes (providing the filters used are compatible).

One of the first things you might notice is there’s two types of filters - Player and Match, these have a rather important distinction: Match filters control which matches are included, and Player filters control who is included from those games.

There’s also a bit of a third type which I’ve been terming “Match Player filters” and these are a copy of most Player filters except they’re under the Match category. They are really cool as they allow you to filter matches by the quantity of players meeting some criteria. For example, this would include games with 2 or more Emergency Med-kits:

Filter Groups

Not a fan of being tunnelled? Fancy viewing the two remaining games? With Filter groups you can easily exclude those games or any others you desire through the use of the “not” group.

That’s not all though, in total there are 4 group types, AND, OR, NOT (OR), and NOT (AND) and they allow you nest filters and control how they’re combined - I’m really looking forward to seeing the queries you come up with.

Filters

Remember how I said if I’m doing this I want you to be able to filter by anything? Well, we’re not quite there yet but I think this is a pretty good start:

There’s still a couple more I want to add, a Friend filter being one of the more interesting ones. There’s also a bunch of QOL additions I want to make, like a shortcut for adding all Flashlights to the item filter. If there’s any QOL additions you can think of, let me know!

Numerical Inputs

Most of the filters should be fairly familiar as they’re either dropdowns or toggle switches which are used heavily around the site. The problem is, Bloodpoints and Prestige don’t particularly lend themselves to either of those so I’ve created a new type of input:

Numerical Input

With this, you can use the comparison operators > >= < <= before a value, or you can enter a range like so:

Numerical Input (Range)

Filter Logic Notes

Most filters will have no impact by default (though this isn’t universally true), the main reason I’m mentioning this is if you want to filter “none” you’ll have to explicitly select the option.

Most filters allow you to specify multiple values, these are applied with an OR (i.e., they will match any item in the list). The main exception to this is the build filter which will only match players who have all the perks specified.

There’s currently rather little to prevent you from creating “impossible” queries - you could configure the filters to match one condition and also require the opposite and it won’t complain. As the filters are so flexible, preventing these cases doesn’t really fall short of being a nightmare. I’m not sure how much work I’ll do to help with this but at the very least, there’s a couple of “hints” I’d like to add.

Limits

With great power comes great computational cost (I think that’s how it goes). Offering a way to build your own queries is honestly a bit of a scary concept. There’s only so much I can do to optimise them, and some filters and combinations are always going to be expensive to compute. As such, there’s a couple of limits on how the filters can be used & combined.

  • Only one of each filter can be used per group (as most filters allow you to input multiple values this shouldn’t be too limiting)
  • There’s an overall limit (which aren’t entirely set in stone yet) to the number of groups & filters you can create, these differ depending on whether you’re a Supporter which brings me on to the next thing…

These filters are an advanced and computationally expensive feature, and they’ll undoubtedly cause me a few headaches so I’ve decided the new filters will be limited to Supporters. I want everyone to get something out of this update though, so everyone can access the advanced UI with the existing filters. In addition, the filter and group limits are set so that everyone can exclude matches by tags which has been one of the most requested additions.

I wish I didn’t need to limit anything, but the truth is I love working on this project however the time I spend on it isn’t sustainable. Honestly, it’s something that impacts me a fair bit mentally, I love this community and this project and frankly, I wish I could work on it full time. I know the chances of that ever being practical are next to none but I’m still going to hope. I also hope you’re understanding that this (and probably some other more advanced features in the future) are primarily available to supporters.

Teachables Unlocks Page

The Teachables page has a new look to reflect the uh “recent” changes in game, in addition to tracking unlocked perks it now allows for tracking the tiers, and their parent Characters/Prestige.

Unfortunately, as so much has changed the previous unlock data hasn’t been carried over to avoid bugs.

Note: The automatic unlocking of perks, and some unlocking shortcuts on the page are temporarily disabled.

Some other bits worth noting

  • Due to the major changes with the filters, the persistence of Overview filter settings is currently disabled. It will be reenabled soon (and maybe slightly improved :wink:).
  • The Overview, Account, & Tags pages have all been migrated over to the “new” framework behind more and more of the site, this should fix an old issue which could cause several visual bugs when clicking the navigation for the page you’re already on. The remaining pages will be migrated in future updates.

  • OVERVIEW: Grade/Rank charts now only show if there is data for them
  • OVERVIEW: (Hopefully) fixed a timezone related issue (again) which caused irregular hours to appear on charts and if close to midnight/a DST change, could cause some matches to be delayed in appearing
  • OVERVIEW: Fixed the Prestige chart not showing prestige 0
  • REVIEW: Renamed “Select friend” to “Optionally select friend” in an effort to make it clearer that it’s not required when using the Friend association.
  • REVIEW: Hidden the “Blank” option from the unknown icons list as the Prestige icon bug has been fixed and custom games (particularly with less than 5 players) shouldn’t really be uploaded.
  • UPLOAD: Files can now be pasted into the browser to upload
  • TAGS: Fixed a mismatch between the name length requirement on the UI and what is actually accepted
4 Likes