How to fix staging screen alliances button (missing) feedback?
Consider this screen:
In 1.9 the alliance button (EG: Axis) functions by setting all players of an alliance to the current player. For example, in the above, if you select "Germans" to be "Hard AI", then click the "Axis" button on the germans row, all of the axis players will be set to "Hard AI".
First off, I need to apologize for this odd behavior. When I changed the alliances from labels to buttons for 1.9, I meant for the alliances buttons to work differently.. For 2.0 I aim to correct this so that when you click an alliance button, it sets it so that you play that alliance. In general this was really meant to help multiplayer games where it's tedious to toggle through each country, but in single player games this should help make it easier to set up Human VS AI games. For example, in single player, in 2.0, you can use the 'set-all-to' to set all players to an AI and then click the alliance you want to play. Kinda nice
That is the context for the following problem which I'd like feedback for if there are any suggestions. In 1.9 and 2.0 we're still left with a problem. On the default screen all players are by default set to 'human'. If you click the alliance button, then seemingly nothing happens. "Nothing" happens because the 'human' alliance is set to 'human'.
In 2.0 the tooltip will be updated to at least always be correct and say "click to play this alliance", but we are still left with a button where on the default screen nothing happens. In this case there no feedback from the computer to tell a person what it did.
In multiplayer, in 2.0, clicking the alliance button will always have something happen (you'll either play as that alliance or 'release' the alliance, so no matter what the screen will change in an obvious way).
The lack of feedback is only then a problem for single player. I think in part this is part of the issue why 1.9 was hard to figure out, you click the button, it did nothing.. The tooltip in 1.9 is wrong as well so that did not even help.
I am curious if anyone has any thoughts on good ways to fix this?
So far my best thought is to show a toast pop-up in single player saying "axis have been set to human player". I'm kinda wondering if the toast pop-up would just be annoying, but at least a person could tell what the alliance button did.
We are looking to do a major re-write of the staging screen (the above screen) for 3.0. That re-write will likely start by replicating 2.0 but will hopefully be even better. I'm saving any really large re-write efforts for 3.0. Given that, any thoughts/suggestions are surely welcome.
@LaFayette I tend to think there should not be a feature that does nothing as default (beside maps that have a customized default), therefore it may be advisable limiting this for hosts only. The feature would make more sense to me if TripleA would default all to AI, when on local, but I'm not saying TripleA should or should not do that.
Regarding past and proposed behaviour, I'm mixed and more or less neutral about the change.
Also it is strange to me that, then, you would have multiple buttons doing all the same thing.
Anyways, I feel really either neutral or close to neutral about this whole matter.
Yeah, the lack of computer feedback on button click in single player is a problem. Hence this thread. Disabling a button that would have no effect is a typical approach. I think that would add more complexity than it would clarity.
therefore it may be advisable limiting this for hosts only
The feedback issue is only for single player as multiplayer you always get feedback. IMO it's really bad the staging screens are all inconsistent, getting them to have the same buttons/controls is a step in the right direction. Regardless, being able to start games more quickly is really the objective. But we are digressing, the problem is there for 1.9 and will be for 2.0. This thread is about how to handle the lack of button feedback in single player.
My concern about a toast is that it would be annoying/unnecessary. On the other hand I could see it being very solid confirmation of the event that occurred. Another option would be to display a "all [allies] set to Human" toast conditionally when the current row is already set to human. I'm concerned there could seemingly be an inconsistency.
One other option I thought of is if we can change the behavior so it always has some sort of UI update. In essence the toast would actually be doing that. I think the options are:
- (1) have the alliance button cycle through choices (IMO not good)
- (2) have the alliance button show a toast
- (3) hide the alliance button when it would be a no-op
If there's no feedback suggestions then will give (2) a go as a toast likely will not hurt. (3) is an option, initially I think it's not great to have controls appearing and disappearing.