Playnite
Playnite copied to clipboard
Linking duplicate copies of games
I think it would improve my library greatly if I could manually link duplicates, expansions, dlc's, and episodes of a game together.
My Back to the Future Ep 1, Ep2, Ep 3... could all be linked into a single entry with launch buttons for each store item.
My Half-Life 2, HL2 Deathmatch, HL2 Episode One etc. could be all linked.
My Dragon Age: Origins regular and ultimate editions, as well as versions from Steam, Origin, and GOG could be all linked.
Linked games wouldn't show up in any of the lists unless you unlink them again. There would just be one Master version of the game with all the different editions, versions, episodes etc. listed in it.
This is very similar to #217
Well, yes, #217 is partly about the same thing. However...
- #217 is in my understanding about an automated system. I'm talking about manual. This is because realizing the limitations of Playnite's current name recognition algorithm, an automated system would probably work on 5% efficiency, which is negligible considering the amount of manual workload you'd have to do anyway.
- #217 is only about copies of the exact same game. While that is part of the problem, I'm talking more about linking everything related to a specific game under one instance. Different store copies is only like 1/4th of what I was talking about.
- Playnite, to me, is about organization. No software out there does what Playnite does and to me, it's very valuable. I want to be able to browse my catalogue and clearly see what games I own. When you start to get to thousands of games, the clutter becomes your enemy.
- Currently, I am hiding things that are duplicates or different episodes or DLC or beta test clients or "new Steam versions" or Multiplayer clients or videos or software... the list goes on. This helps to remove the clutter, but it also makes using the application more confusing, because if you want to find something, you have to remember to search multiple places.
I appreciate the fact that this would take a lot of work to implement. I don't want an automated system. I just want that there would be a way, any way, to do this. It's probably not important to everyone, but Playnite is the only software where I can collect all my games and be able to browse them. I hope you don't consider this type of feature useless. To me, it would be incredibly useful.
Maybe it doesn't have to be implemented right now, if there are issues with higher priority. Maybe this could be considered again at some point in the future. Or maybe I can try to find some time to work on it in a separate branch.
Thank you.
I completely understand why people want this and I'm not against implementing it. It's just that there are features that would bring more value compared to how difficult this is to add right now. I don't work on Playnite full time so I have to choose carefully what to spend time on.
However if we want Playnite to be usable also as general game library organization software then this will be required feature for sure.
Instead of leaving the Series as None when it's not defined, if Playnite filled in the game title, would this not give us the same feature in a way? We could then go and tidy up anything that didn't group up nicely.
(The way it is now I can't see myself manually creating Series for every game just so it shows alphabetically when I group by series.)
...speaking of which, is there any way for me to get this done on the current build?
Did you consider making an interface for Game, then you can have the current Game interface across the code base and the current Game class as is.
Then a Virtual Game class could be made which can handle the merging of the games and backing meta data but still display and work as a normal game across the system.
Display can use the type to see if anything extra should be displayed for the virtual game and if the class does not match the type then everything would continue. This would allow the initial interface changes to go through and the virtual game could be added and refined over time until ready for release.
This is 90% achievable with an extension called DuplicateHider. I understand people's preference of not wanting to bother with extensions, but this might be a temporary solution.
This extension allows you to hide all copies of the game except for one, which'll be the one that shows up normally.
Depending on your theme, it can give you quick access to all other versions through buttons in various places:
This is all you need for the same game on different platforms. I've been using it for months and it works great. The only downside is it uses game's name's to identify duplicates.
So, my solution is to use DuplicateHider in conjunction with Game Title Normaliser and a little bit of manual title matching here and there.
Drawbacks of my method:
- The matching of HL2 and HL2 deathmatch for example would be a bit finnicky, since both sources would be steam and you could loose track of which one is which, so you'd have to use something like a distinct background/cover image to tell them apart. I personally just use sorting names and/or logos.
- The games are hidden and depending on what you use the "hidden games" feature for, this could be a downside. However, there's a built-in function to automatically assign a "[DH] Hidden" tag, so that you know the game was hidden by DuplicateHider.
- The only way to un-hide would be by unmatching the names of the games.