Subcategories
8 years ago
Bavaria, Germany

To make organizing (lots of) categories a bit easier, the 'Use as subcategory' option has been added to variables.

By enabling the option, the values of that variable will be shown differently on the leaderboard, which should offer more flexibility in its use. Often, a variable signifies something that while its different values are not directly comparable, the values are closely related and don't really work as completely separate categories (besides, ending up with 20 categories is a great way to create a messy board). (Ab)using ILs to solve the situation is sometimes but not always possible, and usually doesn't end up quite the way it should.

That's where this option comes in. Different values of the variable are no longer dumped onto the same leaderboard, but are actually distinct boards, while still clearly being related in the interface, and still being part of the same category.

For example: http://i.imgur.com/YojpFWg.png In this image, only the top two items are actually categories. 'Any% (Beginner)', 'Any% (Standard)' etc are values of a variable used as subcategory, and Japanese/English is another subcategory. These two subcategories belong specifically to the 'Kingdom Hearts II FM HD' category.

When you go to the other category (Kingdom Hearts Birth by Sleep FM HD), you will see the following:

http://i.imgur.com/bmaLSEh.png Terra/Ventus/Aqua and the other row are two different subcategories belonging to that category.

This is how it would have looked (more or less) before: https://i.gyazo.com/98389c7d283524a303cb1b6cef009e73.png

Of course, it is still possible to have a variable used as subcategory set to apply to all categories, if that's what you need. For example, the subcategories on this page apply to all categories: http://www.speedrun.com/gtavc_chaos

Each value of a subcategory variable can also have its own rules defined, if needed.

To use a variable as subcategory, it needs to have a default value set, and it needs to be mandatory.

Note that this isn't a huge, complete overhaul of the system, so for example you cannot nest multiple levels of subcategories, but it actually ended up working quite well.

As always, let me know if you have any issues/questions/bugs/suggestions about this.

EDIT:

An option to make subcategory values misc has been added. See http://www.speedrun.com/gtavc_chaos for an example (The 'Show all >>' button shows the misc values).

To help setting up new variables/values, there's a new button on the edit game page that applies the default value to all runs without a value for that variable. This works regardless of whether the variable is used as a subcategory or not.

mammaru339, Hydro ve 20 diğerleri bunu beğendi
Vienna, Austria

Great feature and works very well! Thanks allot!

United Kingdom

This seems like a really helpful way to organise categories, I just have a question about setting it up on a board. If the categories are already setup is there a way to move things around without having to re-enter all of the times manually?

Bavaria, Germany

I will add a button to set the default value for all runs that do not yet have a value for that variable, hopefully tomorrow.

Mass moving stuff around is always going to be a bit tricky though, you're probably best off editing the runs manually if there are only a few, otherwise let me know and I can write a script to do some stuff more easily. Unfortunately adding a proper interface for these things is difficult since each case is slightly different.

United States

How do you add a variable without making every current run disappear?

Bavaria, Germany

Glaedr: I've added an option to make subcategory values misc.

PresJPolk: The runs don't really disappear, but they do not have a value set so don't show up when filtering runs with a specific value. To make adding new variables/values easier, I've just added a button that applies the default value to all runs without a value for that variable. (This button works regardless of whether the variable is used as a subcategory or not)

PresJPolk bunu beğeniyor
Baden-Württemberg, Germany

So we can see what WR is for Japanese , English , PAL and so on? I find it nice Kreygasm

Virginia, USA

As the proponent for this feature, I cannot stress enough how much our community greatly appreciates you implementing this (and doing it so quickly)! Take, for example, the screenshots below after we updated the page today: Before: https://gyazo.com/d8c25970ba77f0ddb805183ff4eb30e8 After: https://gyazo.com/ab5ed386520ace360f7ac7509e48a4bc

So once again, a huge congratulations and thank you!

Now, to get down to business, I've found a couple bugs and some nice-to-haves: 1.) Because these subcategories are all still technically the same category, user profile pages don't quite update the run's ranking properly like the game pages do. The last run in this screenshot -- https://gyazo.com/2d001ea16945d6fc342ea07383296a87 -- is listed as 66th place, but is actually 18th within its appropriate subcategory.

2.) "Note that this isn't a huge, complete overhaul of the system, so for example you cannot nest multiple levels of subcategories, but it actually ended up working quite well." Actually, we've found nested levels of subcategories works quite well! Obviously they're not TRULY nested (they all apply to the top-level category), but I imagine that is a very limited use case anyways. Of course it's probably still a decent nice-to-have for somebody out there.

3.) Moving runs is a pain, but I also understand that it would be very hard to implement a batch editing system, so it's a small price to pay for having much cleaner pages. That being said, a way to see all runs for a category for admin purposes would be very useful. We found when moving stuff that it was quite easy to get confused by obsolete runs or runs that were lingering on the main category but with no subcategories. Granted, this was our mistake initially by not setting a default to all runs before refactoring categories, but it would still be nice to be able to see all the "hidden" runs in a category in order to reject duplicates. Earlier today I had to do this manually in the Javascript console by setting the subcategory variable to 0 and re-running leaderboardUpdate() (or whatever the method was).

3a.) As I mentioned, obsolete runs are a bit obnoxious, as when you move the user's PB from one category to another, their previous obsolete run will then show up as their new PB. Not a big deal because you can either move the obsolete run over too or leave it in the category to be deleted, but it can be a bit confusing at first.

All in all, I definitely didn't mind spending the 5 hours today setting up our biggest page with subcategories, as it was an incredibly useful use of my time. :)

Lighnat0r ve PackSciences bunu beğendi
United States

Yeah thanks lighnator. When I Added a variable and everything vanished I did panic a little. Fortunately I know enough about development to assume that's what was going on, so I just removed the variable again. :)

Thanks for adding a way to work around this.

Baden-Württemberg, Germany

http://www.speedrun.com/The_Site/thread/lac6h/1#e9wyq

I know. But so it is better in my Opinion. OpieOP

Bavaria, Germany

Place calculations now take subcategories into consideration. I'm fairly certain it works properly, but the calculations are a mess so let me know if it doesn't :P

Arkansas, USA

This is definitely good stuff :D I was gonna make subcategories for platforms on Mario Kart 64 (because we don't want the categories merged in any way so we have them all split up right now by console)

Would it be possible for you to create an option to set the already existing Platform variable to work as a subcategory? (Basically we don't want the "All Platforms" option that would show up if we just used the regular platforms dropdown)

Bavaria, Germany

Yeah, that is something that could be considered. However, that wouldn't make emulator its own category, so would it really suit your purposes?

Unrelated, I want to reiterate that moving runs is significantly easier for me to do, so by all means contact me if you want to upgrade an existing leaderboard.

Arkansas, USA

Yeah exactly.. that's why it would work better as the sub categories. Would just be a bit strange to make the person enter in 2 separate platform fields but it would work. But yeah I'd say we'd definitely like to turn the platform into subcategories for MK64 if you want to help out there :)

Bavaria, Germany

Alright, in my mind there are two possible ways to set the categories up: http://imgur.com/a/rBDiu Which one did you have in mind (or were you thinking of something else entirely)? I will set it up once you've confirmed the setup.

Arkansas, USA

The 2nd one :)

Bavaria, Germany

Alright, it's done.

French Southern Territories

You have to do more subcategories in subcategories (yo dawg, I heard you like subcategories ... ) I guess. @CatlyNat The subcategories you've set are too many; we have to go deeper :^)

Bavaria, Germany

Yeah, I noticed this when testing. I thought that it might become confusing to have a single subcategory selection on multiple lines (as it would be hard to distinguish from multiple subcategory selections) and wasn't sure it would ever come up (apparently so), so I didn't spend any more time on fixing that before release.

I could look into the multiline approach, if you really want it. Or perhaps someone has a different, better solution?

Gelderland, Netherlands

multiline with a borderline in between the subcategories like:

(3) mode

and maybe with the borderline having a option to give it different colors