Page 1 of 1

settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 02:44
by raaar
Games tamper with spring settings. Some of those persist.

ok, so I've been playing some ZK. After doing that, I go back to *A mods or my game, MF, and the "W" for units with wait orders no longer shows up, the shift esc menu no longer shows up, F4 no longer shows mex spots, and probably something else i'm forgetting now. I think at some point pressing F4 showed geo spots as well, but maybe that's a widget.


MF has a settings widget that tweaks these:

Code: Select all

	-- disable grass
	Spring.SetConfigInt("GrassDetail",0)
	
	-- set camera to "ta" mode
	local camState = Spring.GetCameraState()
	camState.name = 'ta'
	camState.mode = Spring.GetCameraNames()['ta']
	Spring.SetCameraState(camState, 0)
	
	-- set max particles to 20000
	Spring.SetConfigInt("MaxParticles",20000)

which settings does ZK override exactly? Poking through the lua to find stuff that changes is unreasonable (maybe it's not done in widgets at all but by zk lobby).

There should be a simple way to revert everything ZK changed to spring defaults.

For BA, Tech A, XTA, Evo, S44, what settings does each override?

Also, something tells me that widgets with the same name on different games can have compatibility issues when storing/retrieving config.

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 04:07
by Forboding Angel
Evo assumes that the user has sane settings. That said, there are built in widgets that set optimal settings for ultra low, low, medium, high and ultra gfx settings.

It's not very prettily done, but it works.

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 14:22
by Jools
XTA has a menu with game settings. Most of these are read from spring settings and also written there if the user chooses to change any of these:

Image

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 15:21
by smoth
I still feel each game launched from spring should spawn their own GAMENAME.cfg.

It would solve a lot of these issues.

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 15:22
by FLOZi
smoth wrote:I still feel each game launched from spring should spawn their own GAMENAME.cfg.

It would solve a lot of these issues.
+9001

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 15:24
by hokomoko
+1

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 18:33
by Silentwings
Now that we record settings in infologs and always demand infologs when debugging, afaics this is win-win. Although due to the baffling array of settings it might increase the rate at which game devs accidentally use mad settings and then complain about settings not working.

Re: settings, UI options, compatibility issues between games

Posted: 08 Nov 2015, 20:48
by Forboding Angel
FLOZi wrote:
smoth wrote:I still feel each game launched from spring should spawn their own GAMENAME.cfg.

It would solve a lot of these issues.
+9001
+900000000001111111

Re: settings, UI options, compatibility issues between games

Posted: 09 Nov 2015, 04:05
by raaar
yes, each game having its own config would fix these issues.

What would happen to the lobby settings edit sections? Should they be enforced on all games?

maybe this implies priority levels:
1- settings manually overriden through lobby (applies to all games)
2- settings tweaked within games (each game has its own file)
3- default settings

Re: settings, UI options, compatibility issues between games

Posted: 09 Nov 2015, 04:32
by gajop
So yeah, separate settings for games, and each game setting is edited separately within the game or the lobby's section for the game.

There can also be one main config file which would contain some obvious globals like locale, and maybe stuff like lobby username, hardware support, and similar. A good example of this is Steam which has different configs for each game and then also conflicts for the Steam client which are reflected in the game (language being the most obvious one, but probably a bunch of others including VOIP, streaming support, in-game friend communication preferences, etc.).

A completely different thing is to consider how configs should be distributed and detected. Ideally each game would also come with one or more .cfg presets included in the game archive, but it would be beneficial to also have the engine detect the user's hardware and provide that information to the game to set reasonable settings for a high quality, smooth experience. This is what nearly every game does in the past 10+ years, and we've seen the need for this while making LD games as there are so many players with low-end PCs (our last game could have just as well been called "You are the LAG monster").

Re: settings, UI options, compatibility issues between games

Posted: 09 Nov 2015, 08:00
by smoth
raaar wrote:What would happen to the lobby settings edit sections? Should they be enforced on all games?
Open lobby settings interface..


interface shows a list of game configs..

select choice

edit game config.

Re: settings, UI options, compatibility issues between games

Posted: 10 Nov 2015, 03:58
by AF
Sounds like a faff if I have to set my screen resolution for every new game I try. Have the existing spring settings, then have a game config that overrides anything mentioned, fallback to spring settings.

This way the next engine release doesn't force us all to redo our settings, and the new feature doesn't make every attempt at a new game devolve into a "sorry let me quit out and change my settings"

Re: settings, UI options, compatibility issues between games

Posted: 11 Nov 2015, 18:03
by Forboding Angel
Needs per-game uikeys too.