I've got the idea that there could be a function in the collections, that beatmaps get automatically added to one if it has met specific conditions.
I once decided to use the collections to sort my beatmaps, and after some months I somehow added more different collections (I don't like the normal filters, so I filter first my own beatmaps and the mode (!mania/!standard), then cleared/not cleared, ranks achieved, newer ones, etc...)
One example, first I filter my beatmaps for the mode !mania, then the cleared ones, additionally I do not like to play HT/NF so I don't count them as cleared.
So the first condition would be that it needs to be the !mania mode, the other that I have any rank on it, then additionally that I have not used HF or NF.
An example list of my collections (left side of |-| ) and the conditions they would have (right side of |-| ):
(I used the numbers to sort, because the collections are sorted alphabetically in the game, and the dots just for readability (could have been just space))
The player would choose between making a manually made collection, like the one already in the game (in which he chooses the beatmaps himself), a conditional (described below), or a semi one (with conditions, but still can add maps himself). Maybe the function should only include the semi option.
The player would name the collection (which he of course can rename), then click "add condition". First he chooses the type of condition (Mode, Achieved Rank, Status, etc.), then the condition (!mania, Any, Ranked, etc.). After one condition is chosen, he can add additional ones, delete one, or complete the collection. The player can link condition types with the logic phrases and, or and use not for a condition.
The beatmaps will be automatically added if they have met all the chosen conditions of the collection.
For the semi option it could be useful if you could delete the manual added beatmaps, that aren't fullfilling the conditions. I think there should be a function included to show/hide manually added beatmaps or the ones from the collection feature so it's easier to separate them. Or the player would just (delete and) add another collection for that himself.
To make implementation of conditions easier, I want to gather information about how specific conditions could work. I'll edit this part if I get new ideas or if someone else might give some ideas to add.
And as I already mentioned, the conditions can be used in combinations with logic phrases (not, and, or).
These should better stay in the filters:
Artist, Title, Creator:
Because artists and titles are an user input when uploading a beatmap (can include typos),
but these could be added if players might find it important to filter by beginning letters...
Like the normal filter:
Favourites, Mode, Key Count, Own Maps, Ranked Status
These would work the same way as they do in the groups (filters).
Different workwise:
Date, Length, Difficulty:
These could have additionally the option to select an area of values, not just a lower/higher or exact value.
Recently played:
Similar to "Date" condition, but with an area before "now" (so excludes maps that leave that area).
Leaderboard:
Like the first different conditions, but with place #1 option.
Accuracy:
Like the first different conditions, but additionally the player can input an integer number, so the condition will include any Accuracy until before the next integer (+0.99).
Rank:
Similar to the first different conditions, but with any/none option.
Played/Unplayed:
Played/unplayed maps, so played includes maps you lost on (and maybe even if you ever started playing a map).
Mods:
Additionally to using single mods, the player can choose a mods category (difficulty de-/increase, special).
Creator:
The player will be able to write a name, to include only the creator's beatmaps.
New:
PP:
PP would work as first different conditions.
(as it isn't supported it is less likely to be added)
Collection related:
This could mean that, as an example, one collection will (not) add any beatmaps that are already in another specific / any / none collection(s).
Another possibility is to enter a string (word, etc.), and if any collection matches they will be included in the condition.
Video:
Includes beatmaps with videos.
It would be much easier to create many/bigger collections with a function including conditions instead of right-clicking every beatmap to add it to a collection (I have just over 400 beatmaps in !mania and almost 1000 in standard, others could have thousands of beatmaps).
It would work similar like a filter, but collections stay as long as you don't delete them, and you could include some beatmaps yourself if you want it in that collection.
Please tell me your thoughts about this, thanks!
I once decided to use the collections to sort my beatmaps, and after some months I somehow added more different collections (I don't like the normal filters, so I filter first my own beatmaps and the mode (!mania/!standard), then cleared/not cleared, ranks achieved, newer ones, etc...)
Examples:
One example, first I filter my beatmaps for the mode !mania, then the cleared ones, additionally I do not like to play HT/NF so I don't count them as cleared.
So the first condition would be that it needs to be the !mania mode, the other that I have any rank on it, then additionally that I have not used HF or NF.
An example list of my collections (left side of |-| ) and the conditions they would have (right side of |-| ):
(I used the numbers to sort, because the collections are sorted alphabetically in the game, and the dots just for readability (could have been just space))
- !0.TheUnk0wnDead |-| Creator: TheUnk0wnDead / Own Maps
- !m.0.All |-| Mode: !mania
- !m.00.Favourites |-| Mode: !mania Favourites
- !m.15.Keys:5k |-| Mode: !mania Keycount: 5k
- !m.16.Keys:6k |-| Mode: !mania Keycount: 6k
- !m.21.New.5 |-| Mode: !mania Date: after "xx-xx-xxxx" and before "yy-yy-yyyy"
- !m.21.New.6 |-| Mode: !mania Date: after "yy-yy-yyyy" and before "zz-zz-zzzz"
- !m.21.New.7 |-| Mode: !mania Date: after "zz-zz-zzzz"
- !m.41.Cleared.Ranked |-| Mode: !mania Rank: Any Status: Ranked Mods: not HT and not NF
- !m.42.Cleared.Unranked |-| Mode: !mania Rank: Any Status: not Ranked Mods: not HT and not NF
- !m.43.NotCleared(HT/NF) |-| Mode: !mania Rank: None
- !m.63.Rank.S |-| Mode: !mania Rank: S
- !m.64.Rank.A |-| Mode: !mania Rank: A
- !m.65.Rank.B |-| Mode: !mania Rank: B
- !m.68.Rank.HT/NF |-| Mode: !mania Rank: Any Mods: HT or NF
- !m.69.Unranked |-| Mode: !mania Rank: Any Status: not Ranked
- !m.72.Accuracy.S98% |-| Mode: !mania Accuracy: 98%
- !m.81.Accuracy.S96-98% |-| Mode: !mania Accuracy: 96-98%
- !s.0.All |-| Mode: !standard
- !s.00.Favourites |-| Mode: !standard Favourites
- !s.355.Diffic.5,50*-5,74* |-| Mode: !standard Difficulty: 5,50* - 5,74*
- !s.360.Diffic.5,75*-6,24* |-| Mode: !standard Difficulty: 5,75* - 6,24*
- !s.365.Diffic.6,25*-6,74* |-| Mode: !standard Difficulty: 6,25* - 6,74*
- !s. ... |-| Mode: !standard ; ...
How it would work:
The player would choose between making a manually made collection, like the one already in the game (in which he chooses the beatmaps himself), a conditional (described below), or a semi one (with conditions, but still can add maps himself). Maybe the function should only include the semi option.
The player would name the collection (which he of course can rename), then click "add condition". First he chooses the type of condition (Mode, Achieved Rank, Status, etc.), then the condition (!mania, Any, Ranked, etc.). After one condition is chosen, he can add additional ones, delete one, or complete the collection. The player can link condition types with the logic phrases and, or and use not for a condition.
The beatmaps will be automatically added if they have met all the chosen conditions of the collection.
For the semi option it could be useful if you could delete the manual added beatmaps, that aren't fullfilling the conditions. I think there should be a function included to show/hide manually added beatmaps or the ones from the collection feature so it's easier to separate them. Or the player would just (delete and) add another collection for that himself.
Workwise of conditions:
To make implementation of conditions easier, I want to gather information about how specific conditions could work. I'll edit this part if I get new ideas or if someone else might give some ideas to add.
And as I already mentioned, the conditions can be used in combinations with logic phrases (not, and, or).
These should better stay in the filters:
Artist, Title, Creator:
Because artists and titles are an user input when uploading a beatmap (can include typos),
but these could be added if players might find it important to filter by beginning letters...
Like the normal filter:
Favourites, Mode, Key Count, Own Maps, Ranked Status
These would work the same way as they do in the groups (filters).
Different workwise:
Date, Length, Difficulty:
These could have additionally the option to select an area of values, not just a lower/higher or exact value.
Recently played:
Similar to "Date" condition, but with an area before "now" (so excludes maps that leave that area).
Leaderboard:
Like the first different conditions, but with place #1 option.
Accuracy:
Like the first different conditions, but additionally the player can input an integer number, so the condition will include any Accuracy until before the next integer (+0.99).
Rank:
Similar to the first different conditions, but with any/none option.
Played/Unplayed:
Played/unplayed maps, so played includes maps you lost on (and maybe even if you ever started playing a map).
Mods:
Additionally to using single mods, the player can choose a mods category (difficulty de-/increase, special).
Creator:
The player will be able to write a name, to include only the creator's beatmaps.
New:
PP:
PP would work as first different conditions.
(as it isn't supported it is less likely to be added)
Collection related:
This could mean that, as an example, one collection will (not) add any beatmaps that are already in another specific / any / none collection(s).
Another possibility is to enter a string (word, etc.), and if any collection matches they will be included in the condition.
Video:
Includes beatmaps with videos.
TL;DR
It would be much easier to create many/bigger collections with a function including conditions instead of right-clicking every beatmap to add it to a collection (I have just over 400 beatmaps in !mania and almost 1000 in standard, others could have thousands of beatmaps).
It would work similar like a filter, but collections stay as long as you don't delete them, and you could include some beatmaps yourself if you want it in that collection.
Please tell me your thoughts about this, thanks!