Comments (4)
That would be a big architecture change for Cartridges. Right now it creates one JSON file per SOURCE (like Steam, Bottles and Heroic) and does not attempt to merge the same game from multiple sources in any way.
It would be very hard to do this well, too, because we get the game titles from each individual library. Imagine that a game is called the following"
- Steam: "TETRIS(R): Connect"
- Heroic (Epic): "TETRIS(R) Connect"
Even such a small difference would make to completely impossible for us to merge two games into one.
There is literally nothing else we could use to identify the games either. Cover art comes from every individual launcher's own cache files and have nothing in common with each other.
Merging games would also be a nightmare logistically, having every importer somehow be aware of the unified game JSON file that they all need to import into.
My personal gut feeling is that this is way out of scope for the simplistic concept of Cartridges. But @kra-mo would have to give his ultimate thoughts as the project leader.
Edit: One potential workaround is to allow users to manually drag and drop games onto each other to group them, asking the user for a group name when creating a new group like that, and then adding some property to their individual JSON files which tells the GUI to render those games as part of that group, with a popup-chooser to pick the exact version to launch. I dunno if it's worth the hassle though. But it's a potential solution at least.
Edit: That being said, there are much more important things to do before we would have time left over for any rewrites/GUI expansions like that.
If you want more complicated and more powerful launchers, things like GameHub already exist, keep that in mind. Cartridges aims to be light and simple.
from cartridges.
The backend stuff would be relatively painless to implement without any major structural changes. There are several ways we could do it without messing up existing installations.
But I agree that from a user experience point of view, it would be more confusing than anything as auto-merging games would be near-impossible without a ton of accidental merges. It would also need to be exposed to all users even though not many people would actually use it. So I'm closing this as wontfix.
from cartridges.
@kra-mo I also noted that we are in good company. Playnite, the most advanced and strongest launcher on Windows, has had an open request for "merging duplicates" since 2018, so half a decade so far:
On the other hand, GameHub handles merging, because I found this ticket with some screenshots of what the merge looks like:
It would be interesting to learn how they merge things. If it's automated or manual or both.
Their code is here:
https://github.com/tkashkin/GameHub/search?q=Merge+in%3Afile&type=
They seem to have a separate database that contains a list of all game ids (in our case it would be the ids of the JSON files) that should be merged with each other. That way the individual game source files don't need any metadata in them.
It could be easy to add similar code in the future if it ever becomes interesting.
But personally, if someone wants to install and run 7 different versions of the same game, I would direct people to GameHub instead because that's more suited for such advanced usage. Cartridges aims to be light, simple and beautiful.
from cartridges.
Thanks for considering! When I opened this request, what I had in mind was just adding multiple executables to a game, not auto-merging entries.
Yeah, I've been a GameHub user in the past, but it's not quite the same in what I was hoping--it merges from sources but doesn't really let you combine multiple manually added games. I migrated from Windows a while ago, but I really miss LaunchBox, which has no equivalent or alternative on Linux in terms of functionality. It's pretty messy with a lot of options, but the end result allows users to do pretty much whatever they want. However, that's probably the opposite of light & simple.
from cartridges.
Related Issues (20)
- For Windows installs, include Epic Games and other launchers
- Can't launch one specific game installed through Bottles HOT 1
- Importer doesn't import specific game HOT 10
- Option to create a desktop entry for a game HOT 1
- Add Feral GameMode support HOT 2
- Cannot import from lutris HOT 2
- Use square icons for GNOME Search Provider result HOT 1
- Support adding Cover to multiple games at once using a folder HOT 1
- Importing removed all Lutris games. I can't get them back into Cartridges HOT 11
- Select file button DOES NOTHING when clicking (first install trying to add game) HOT 3
- Grid always prefers vertical scrolling even if there is horizontal space HOT 1
- Library scrolls to the top when you hide a game
- Don't auto-import 'Proton' versions from Steam HOT 2
- Can't import from Lutris
- Latest version of Cartridges don't start on Windows
- Browse SteamGridDB assets in app HOT 3
- steamdeck HOT 2
- Download steam games HOT 2
- Won't open Steam game (error) HOT 14
- Add multiple selection for steam folder settings HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cartridges.