Which settings should be in-game and in-Launcher?

Everything about development and the OpenMW source code.
Post Reply
User avatar
Thunderforge
Posts: 503
Joined: 06 Jun 2017, 05:57

Which settings should be in-game and in-Launcher?

Post by Thunderforge »

OpenMW has a lot of settings. Some of them are in-game only such as:
  • Difficulty slider
  • Subtitles on/off
  • Control mapping
  • Texture filtering
  • View distance
Some of them are in-Launcher only such as:
  • Toggle sneak
  • Distant terrain
  • Change dialogue topic color
  • HRTF
  • Shadows
Some of them are in both such as:
  • Resolution
  • Anti-aliasing
How should we decide which settings should be in-game, which should be in-Launcher, and which should be in both? A few pertinent questions:
  • Should every in-game setting also be able to be set in the Launcher?
  • Can Launcher settings "graduate" to in-game settings and then be removed from the Launcher?
  • Most of the currently duplicated settings are graphics ones. Is there something about the use case of graphics that requires us to handle them differently than other settings?
  • If we want to distinguish the two sets of settings, what criteria should we come up with so that future developers will know what to do?
User avatar
Thunderforge
Posts: 503
Joined: 06 Jun 2017, 05:57

Re: Which settings should be in-game and in-Launcher?

Post by Thunderforge »

First, some common ground stuff I think we can all agree on:
  • Any settings that were in-game in original Morrowind should remain in-game.
  • Any settings that we are unable to put in-game for technical reasons should be in the Launcher.
So I don't think we need to discuss those points. Going into my own opinion…

In-Game
I think that as a rule of thumb we should put as many settings as possible in-game. This includes settings that require restarts (requiring the user to restart for them to take effect).

The main reason for this is that it covers the broadest number of player use cases. One player's infrequently changed setting will be another player's frequently changed setting. By having it in-game and in one place (and able to be changed in-game without restarting, where possible), we will ensure that the most users will be able to quickly change the settings to their desire.

One concern might be the number of settings that could be in-game. However, I think that's just a matter of organization. Modern games, particularly on consoles, sometimes have hundreds of settings including niche things like colorblind corrections or typeface changes. If they can fit them all in-game comfortably, I think we can too.

Launcher
It seems wasteful of dev time to duplicate the majority of settings in the Launcher. For instance, I don't think we need to duplicate the Difficulty Slider there.

The only settings I think should be duplicated are ones where the user might not be able to use the game if set improperly. For instance, we should duplicate Resolution because if the user were to change the Resolution in-game to one their monitor doesn't support, they won't be able to change it back. But if we do it in the Launcher, then we can change it. I expect this class of settings will be reserved for certain graphics settings.

Experimental settings could also be in here and when they are considered "stable", they would "graduate" to in-game and be removed from the Launcher.

The only other class of settings I could see staying in the Launcher long-term are gameplay changes such as "Merchant Equipping Fix" and "Uncapped Damage Fatigue". I'm trying to put my finger on why, but I think it's because it changes the way that game content behaves, which doesn't seem like something the user should change in-game. I'm open to to this changing.

TLDR
  • Put everything we can in-game, prompting restarts if necessary.
  • Settings (mostly graphics) that could prevent the player from running the app should be duplicated both in-game and in the Launcher
  • Launcher-only settings should be reserved for experimental settings and (possibly) game world mechanics settings
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Which settings should be in-game and in-Launcher?

Post by psi29a »

More or less in agreement...

I think it is important to also have the very important features, even they are tweakable in game, also available in the launcher. But only those not found in the original Morrowind engine.

What triggered this thread in the first place, was Lighting and where it should go. I would prefer its own tab next to Display and Shadows... it just logical (lights/shadows). In that Lighting tab you can set which system and the number of lights. This can be for 0.47

However, if there is a way to streamline the launcher with another layout... that's fine too. I would still prefer that Shadows and Lighting take a prominent position.

Such an overhaul I would suggest to take place for 0.48.
User avatar
Husaco
Posts: 44
Joined: 07 Aug 2011, 11:54
Location: Australia

Re: Which settings should be in-game and in-Launcher?

Post by Husaco »

Wasn't the main reason any of these settings weren't in-game yet the lack of localisation? I thought the plan was always to migrate them when that was accomplished. The only problem with having lots of settings is creating presets so that users don't have to spend an hour ticking boxes, tinkering and looking up arcane options when all they want can be summed up in "give me the best looking game I can have", "make this run okay on my toaster", "give me a modern gameplay experience and fix buggy mechanics", or "if the game doesn't work exactly as implemented in 2002 I will be unreasonably peeved".
AbuMorrow
Posts: 26
Joined: 30 Jan 2019, 03:38

Re: Which settings should be in-game and in-Launcher?

Post by AbuMorrow »

"One concern might be the number of settings that could be in-game. However, I think that's just a matter of organization. Modern games, particularly on consoles, sometimes have hundreds of settings including niche things like colorblind corrections or typeface changes. If they can fit them all in-game comfortably, I think we can too."

That would be replicating a bad example, and consoles have limitations and are played on TVs so their menus don't look as bad as it would on a smaller screen (it would look bad if played on a small TV though); they don't have a launcher and most of their games don't have config files and/or advanced settings (or are way too hidden). Also too many settings in-game equals lag (no thanks to mygui, and besides we already have lag with the inventory when it has alot of items, the journal lags when there's a lot of pages too). and no matter how you try to organize the in-game menu with one-time tweak settings; it's going to be crammed with all sorts of settings that make no sense to have in-game, just because one user can't decide for themselves if they want to for example set "toggle sneak" (a one-time tweak) on always or not; it doesn't mean the in-game menu should be bloated just for that. and It will lead to redundant stuff that most users don't even care about being in-game, the launcher is definitely a good place for them however and you could take freedom in organizing it without much trouble for users.

There should be reason to what stuff that can be put in in-game settings, for example:
- Graphics settings has always been in in-game menus where it made sense for users to tweak them live and have the best look without constant opening and closing the game just to test out performance and how stuff looks.
Stuff you don't, for example:
- Modders settings (Models category) doesn't make sense to have in-game.
- Physics and Game Mechanics settings will likely break content and AI if changed in-game frequently, and I fail to find any reason for them to be in-game.
- Debug settings could make it to the console like the ones for navigator, and otherwise enabled in the config file or launcher, or a hidden menu :)
- Advanced settings that not everyone has use for and could easily break things if not set properly and abused, that will only lead to users reporting "bugs" that are just side effects of them playing with settings they don't understand and didn't read their descriptions, and trust me users don't read, and so such settings shouldn't be exposed in-game (or even the launcher).
Last edited by AbuMorrow on 14 May 2021, 23:57, edited 2 times in total.
User avatar
AnyOldName3
Posts: 2667
Joined: 26 Nov 2015, 03:25

Re: Which settings should be in-game and in-Launcher?

Post by AnyOldName3 »

I said this on Discord yesterday:
My preference is that things we think people are likely to need to meddle with should be in the launcher (so normal people can set the game up in one go instead of partly in the launcher, partly in the in-game menu, and partly in settings.cfg), and then things that don't have a massive technical hurdle to going in the in-game menu that people are likely to want to meddle with in-game (e.g. after seeing that it runs like treacle) should also be in the in-game settings. I don't see a good reason for any settings to be in-game-only.
Since then I've realised that some things, like keybindings, might make sense as in-game-only. Lots of other applications do keybindings that way. I guess the reason is that you definitely want it available there as people will want to rebind things in-game when they realise they've got no button to do a thing they need to do, but it's harder to put it in the launcher as you've not initialised SDL/XInput/whatever to pay attention to input devices yet. If we end up with a complicated macro system (e.g. like Dolphin Emulator has) it might make sense to have a GUI for it in the launcher (like Dolphin has).
Sagacity
Posts: 31
Joined: 05 Mar 2019, 12:58

Re: Which settings should be in-game and in-Launcher?

Post by Sagacity »

So long as significant features continue to be added, it will be very difficult to make such a rigid decision. Things largely wind up where they're more likely to be accessed, as opposed to where they're most appropriate to be accessed.

I think a big point to make is not to allow users to make changes that require a restart in-game. While we can make clear and obvious messaging stating that the game needs a restart, the fact that the change is not immediate will frustrate users regardless. It also makes no sense. We could simply display the settings and their reasonable ranges without allowing the user to modify them, but again that'd be frustrating.

Additionally, it may be worth noting that certain settings should probably not be exposed transparently at all. Many settings are not intended to be changed by the end user, and especially not intended to be changed beyond their usual extents by the end user, so restricting those from modification within end-user tools may be a method of conveying "this is unsupported and may hamper your experience".

As it stands, I just don't see any particular issue with the location of settings. It may not seem to have much rhyme or reason, but to the same token, there's not much to change it. With that said, I do think everything should be accessible (aside from hotkeys maybe) from in the launcher. That is, after all, where you go to configure the game in basically all other ways.
Post Reply