ebkr / r2modmanPlus

A simple and easy to use mod manager for several games using Thunderstore
MIT License
1.2k stars 187 forks source link

[FEATURE REQUEST] - QoL touch-up of game selection screen #887

Open NaoyaYami opened 1 year ago

NaoyaYami commented 1 year ago

I'd love to see a way to hide games on main selection screen (those with no profiles for them to make it simple). Adding a game to favorites obviously helps but that still leaves a lot of visual noise. Additionally, I'd love to be able to skip choosing a platform for my owned games (for example Valheim asks me each time if I want to manage Steam or Xbox Game Pass). It's perfectly fine to ask that when creating a new profile for the game, but it's otherwise unnecessary and can be even annoying (on some rare occasions when I do some bigger management of multiple games).

ebkr commented 1 year ago

Regarding the platform ask, it’s because you could own the game on game pass, lose access, then later buy it on Steam. It wouldn’t be immediately obvious and you’d likely forget that you’d selected it.

You can set a game as default which will continue booting in to that game at launch with the selected platform.

In terms of being able to hide games, potentially something that moves things between a “My games” and “All games” tab could work. However there is a favourite functionality that pins games to the start of that list which you could just use instead

NaoyaYami commented 1 year ago

So what, because of some forgetful humans the rest of us has to perform some extra clicks? Just do what every other manager like that does and throw out an error that the selected installation was not found and then proceed with selecting platform and creating new profile as usual (or better yet, ask if we want to select a new directory for existing profiles). A solution that gets in the way 99% of the time just to fix a potential issue for other 1% is not a good solution.

Setting game as default is not the solution. I use r2modmanager for Valheim, V Rising and Dyson Sphere program. Actively. Choosing any game as default would be even more cumbersome for me (especially with the way "change game" option is currently buried in profile's settings).

ebkr commented 1 year ago

So what, because of some forgetful humans the rest of us has to perform some extra clicks?

This is a terrible mindset to have. I want the manager to cater to as many people as possible. It’s primarily focused on being easy to use, not necessarily fast, as a way to make things as easy as possible. Quite a large portion of people using the manager struggle to even unzip files.

There’s no checkboxes for example to perform batch operations because they’re clutter and irrelevant to most users. A feature that hinders technically challenged users is not a good experience. An additional option when selecting the game is far more accessible for all users than it is trying to set a default and hiding it somewhere.

It’s not as easy as checking if the directory doesn’t exist anymore because losing access to game pass doesn’t uninstall the game. It still exists on your system and is managed by game pass to allow access to the title.

We can’t infer the platform type as people may own the game on several platforms. I have plenty of duplicates on EGS for example.

Another thing to note is that the change game option is accessible from the profile selection screen as of several versions ago, which takes you to the game selection screen with one click from starting the manager. So the default game option should be suitable assuming you don’t switch games after playing it once.

ebkr commented 1 year ago

Following on from this though, these are the options:

  1. Add a button to let you change the platform and save the last set platform option per game. This would probably not appear if you hadn’t selected the game before. There is however an issue where the game tiles don’t have a lot of space
  2. Same as above but replace the button on the game selection screen with an option in settings. An issue with this is that it’s not clear.
  3. Add an option to change the remembered platform on the game launch modal. Not a great solution because it would attempt to launch an old install beforehand.
  4. Leave as is
NaoyaYami commented 1 year ago

Firstly, I admit I spoke in a very negative tone, for which I'm sorry.

Secondly, nothing wrong with those mentioned options being there. It's great they are there. I also have nothing against striving to deliver a product that is accessible to as big the audience as possible. Gatekeeping is definitely not my thing and I do consider it a negative in long term.

However, I do hate being treated like a boomer that knows nothing about tech. There are almost always ways to improve accessibility without any loss to more tech-savvy users. Isn't that why checkboxes like "show advanced settings" exist?

Not every option has to be dumb-proof. Heck, I'd even say that hiding some option directly in .ini files (or whatever format the manager uses for storing config) would be just as valid (again, options for advanced users don't have to be immediately accessible to basic users). I also don't want to come off as someone that has no idea what development is like and just screams "check boxes" as a solution to every thing (I know far too well that without a proper framework, each extra option is a pain in the ass to implement).

One possible solution to platform selection modal: allow us to save a platform as default (I think doing this per-game is the optimal when it comes to work-result ratio). On a profile selection screen display current profile and add a button to trigger platform selection modal. As an aside (but still somewhat relevant to the spirit of my original suggestion): setting profile as default would also improve the experience of working within manager (there's a lot of space on the sidebar, current profile as well as a list of other profiles could be displayed there without interfering with anything else - again, basic users won't have more than 1-3 profiles so no clutter). As it is now, the current profile name is only displayed on title bar with no easy way to swap profiles other than restarting the program or digging through settings to re-select game.

In general I think GOG Galaxy deals with managing duplicates of games across multiple platforms very well (as well as optional ways to launch the games). Might be worth looking at to maybe get some inspiration.

NaoyaYami commented 1 year ago

For the games that are no longer installed in previously remembered location - again, just throw out an error and either just inform the user there is a problem or better yet, ask for new location.

ebkr commented 1 year ago

Isn't that why checkboxes like "show advanced settings" exist?

So generally, yes, however it's notable that users tend to just click stuff and end up with weird states (see: funky mode). There's not really any avoiding it and so I'm hesistant to add new features that users will just click for the sake of it. Especially features where this will heavily hinder functionality.

Not every option has to be dumb-proof.

It does. It really does.

I'd even say that hiding some option directly in .ini files [...] would be just as valid

This isn't really viable as the manager stores settings internally via IndexedDB. This isn't really modifiable outside of code.

allow us to save a platform as default [...] On a profile selection screen display current profile and add a button to trigger platform selection modal.

So this is a solution, but it's not quite right. There's no reason that changing platform should be possible via the profile selection screen. There's currently an action to take you back to the game selection screen, however in some cases it wouldn't necessarily be obvious that you'd have to go back to there to change it, and so we're basically in the current predicament.

Setting a platform by default for all games is a hard no. On a per game basis is what we've been discussing.

setting profile as default would also improve the experience of working within manager

So this is something that's been raised a few times and is also something I don't particularly want to do as having that screen visible makes it clear that profile functionality is possible, and it's actually recommended to use it rather than disabling/uninstalling mods constantly.

To make life easier on the profile selection screen, the default selected profile is always the last one you'd used.

In general I think GOG Galaxy deals with managing duplicates of games across multiple platforms very well

We don't track which platforms you own the game on, and this isn't something planned as it's a lot of hassle. I think GOG does account linking whereas we just scan the filesystem based on the platform you select, and even that fails quite a bit.

NaoyaYami commented 1 year ago

My GOG example was mostly about how it looks, not how it functions (account linking) but nevermind that.

I now have much clearer picture of your design philosophy and I can accept it (even if I don't agree with it).

Thank you for taking time to explain this, I have no more arguments to make so I at least consider this feature request closed and declined.

I will try to improve my workflow with autohotkey and other hacks and I hope we will see more improvements to vanilla r2modmanager - modding community is still too small for my tastes.

Thank you for your hard work!

ebkr commented 1 year ago

Happy to keep it open for now, i think the only viable solution is option 1 listed here (https://github.com/ebkr/r2modmanPlus/issues/887#issuecomment-1328040824) but that would depend on a redesign

DarkAtra commented 1 year ago

This sounds like a great feature to have. Starting a modded game of Risk of Rain 2 currently takes a lot of clicks (game selection, platform selection, profile selection and finally starting the game). I think having an option to set both a default platform and default profile per game would be super helpful.

I could give this one a shot if you want.

ebkr commented 1 year ago

Starting a modded game of Risk of Rain 2 currently takes a lot of clicks (game selection, platform selection, profile selection and finally starting the game)

You can just click set as default on the game selection screen to skip the first two steps.

DarkAtra commented 1 year ago

Starting a modded game of Risk of Rain 2 currently takes a lot of clicks (game selection, platform selection, profile selection and finally starting the game)

You can just click set as default on the game selection screen to skip the first two steps.

Hey, ty for your reply! I might have been a bit to unspecific in my initial comment. What i personally would like to have is the following:

This reduces the amount of clicks per game down to just two: selecting the game and launching it.

The main issue with setting a default game for me personally is that i do play a more than just one game modded. Setting a default game makes it harder to switch between those games quickly as you'd always have to go into settings to get back to the game selection screen. At least as far as i know.

My current solution is to just select the game, platform and profile each time i use r2modman and don't bother with setting defaults as it doesn't really solve my problem. This might be very specific though and for sure is a pure QoL improvement. Nonetheless i think it might be worth the effort.

ebkr commented 1 year ago

it should not ask me for the platform for the specific game if a default was previously set

We don’t do this because people’s platforms may change and it’s not really intuitive to change. For example, you may own game pass for a month, and then buy the game you were modding on Steam.

it should also not ask me for the profile if a default was previously set

This is more purposeful as I’d like people to be aware of profile functionality. Quite a lot of managers bury this functionality but it’s quite important to keeping clean and minimal mod loadouts. Another reason is that again, it’s not the most intuitive to change a default profile other than a back to profile button, which would look somewhat odd in the current layout.

You can however make desktop shortcuts with the args specified in the help section to immediately launch a game with a profile without opening the manager (although it’s not recommended because you’ll miss out on mod updates)

DarkAtra commented 1 year ago

We don’t do this because people’s platforms may change and it’s not really intuitive to change. For example, you may own game pass for a month, and then buy the game you were modding on Steam.

It's true that people could change platforms but i'm also not asking you to make setting a default platform mandatory for everyone. I'm rather asking for an option in advanced settings or something like that.

This is more purposeful as I’d like people to be aware of profile functionality. Quite a lot of managers bury this functionality but it’s quite important to keeping clean and minimal mod loadouts. Another reason is that again, it’s not the most intuitive to change a default profile other than a back to profile button, which would look somewhat odd in the current layout.

Again, same as above: hide it in settings somewhere and keep the current behaviour the default.

ebkr commented 1 year ago

No, advanced settings are not something I want to add. People click settings without realising and won’t have any idea what they’ve done.

The manager aims to be more user friendly and things like this are an anti-pattern for it.

NaoyaYami commented 1 year ago

We don’t do this because people’s platforms may change and it’s not really intuitive to change. For example, you may own game pass for a month, and then buy the game you were modding on Steam.

This is fringe case - is it worth sacrificing QoL of majority of users just for those few people that will encounter situation you described?

This is more purposeful as I’d like people to be aware of profile functionality. Quite a lot of managers bury this functionality but it’s quite important to keeping clean and minimal mod loadouts. Another reason is that again, it’s not the most intuitive to change a default profile other than a back to profile button, which would look somewhat odd in the current layout.

Do you honestly believe that casual modders (those that are your main target demographic) really ever think about using more than one profile? That they have multiple playthroughs at once that'd need separate mod profiles?

I have THOUSANDS of hours of modded gaming and I practically always use a single profile (I just don't install stuff I don't plan on using). Profiles are nice and all, but they are far, far from the most important thing (intuitiveness and usability). About second part of this quote: well, then change the layout. Is it set in stone? Is it now fundamental part of universe's order? Is it really something you can't ever change or the great catastrophe will befall the world? Seriously, what you gave is a very weak excuse.

It's your project, go about it however you like and tailor it to whomever you want but you could be honest about it. (just remember that tailoring stuff towards the dumbest possible customers will eventually break your work - unlike anyone's coding and design capabilities, stupidity is infinite).

ebkr commented 1 year ago

Profiles are nice and all, but they are far, far from the most important thing (intuitiveness and usability).

I’d argue here that being prompted to select a platform/profile each time is far more intuitive than skipping them.

Do you honestly believe that casual modders (those that are your main target demographic) really ever think about using more than one profile?

Yes, it’s common. People have friends who might have a server that requires a specific set of mods, meanwhile might also like to play solo with their own. Your requirements are not the same as everyone’s.

well, then change the layout

That’s not really an easy/quick change. Not only does it just generally take a while but It has cascading impacts where other screens need to have a similar feel too. Don’t forget that this is a hobby project.

just remember that tailoring stuff towards the dumbest possible customers will eventually break your work

I firmly believe that modding should be more accessible. If you’ve just received your first computer and have seen some cool mod on YouTube, why shouldn’t you be able to?

There are plenty of mod managers that favour power users, and I believe there’s a balance between the two that r2modman hits, hence why people actively use it. I don’t want to sacrifice someone’s experience just because someone else wants to skip four clicks that they do once when opening the manager. There’s a whole lot of thought that needs to go into a design to make it simple for everyone whilst keeping that usability.

NaoyaYami commented 1 year ago

Your goal is admirable but the way you go towards it is not. In order to please the dumbest users you're making everyone elses life a bit more miserable. Only for those dumb users to screw up anyway with using wrong version of mods, incompatible mods or any other dumb shit they do.

Making mods available to absolutely everyone means making them available to the worst kind of people (total dumbshits). And there is much, much more idiots out there than smart people. This will end up with modding scene being overrun by them and ultimately ruined - just like AAA and mobile gaming already is.

You're actively against-pro users. This is says enough about your priorities.

NaoyaYami commented 1 year ago

A bit less hostile take: You're taking accessibilty to unhealthy extreme. Modding is already mostly very easy - there are PLENTY of really good tutorials.

Someone's mods don't work because they bought the game on Steam after playing from gamepass? Well, they already know SOMETHING changed, don't they? Solving THAT issue is not really helping ANYONE. If they can't be assed to think for a frickin' second to realize that maybe, just MAYBE something changed on THEIR end and they shouls just consult FAQ or something, they don't deserve help. You're selling yourself to people that will always demand more and more dumbing down. You want to make modding one-click easy except you force more and more clicks for the dumbest of reasons. You contradict yourself. I mean, how does a user even know they actually installed the game from gamepass instead of Steam (or vice versa)? Want to solve that issue correctly? Code in a detection feature and either prompt the platform selection window if more installations are found or if the code couldn't find executable at all.

And don't even try to give me that "don't complain, it's free" bullshit - free stuff is just as valid target of criticism as paid one. r2modmanager is quite important for modding of many games after Nexus' fuckup. It's not just about the manager itself.