Add Ability to Set Player Type for All Players
player type selection (Implemented in beta v184.108.40.206.5340)
when playing single player vs AI: many clicks are typically required to set up the AI type you want because the default player is human in most maps.
this could be solved by having a "Set All" combo box at top allowing you to set all players in 1 click (ex player type: AI fast). Only one further click would then be needed for each human player.
As a bonus, @LaFayette added functionality to set all players in an alliance to the currently selected type: https://github.com/triplea-game/triplea/pull/2021
I think all these additions are neat.
Following are my opinions on how it looks.
I suggest changing "Set All To:" to just "All To:" and putting it below the other players.
I get it is up there because you would have the "Resource Modifiers" on the same line, and maybe it is just me that finds not right to see it on the first line (I would not put unnecessary / auxiliary settings at start, no matter how helpful).
Moreover, the "Set All To" selection should better go back to nothing being displayed (as currently starts at) when you change any Type, making them not the same anymore. It would be also consistent if the "Set All To" automatically changes to a Type if you selected it for all players, name per name (in this case, "All" should start as "Human" in most games, and become blank as soon as you change any Type to something else).
I'm not sure, but maybe the "Resource Modifiers" (I would rename to "Resources Modifiers", since it is intended to eventually apply to multiple resources) button should stay right of the Name - Type - Alliance line, and disappear once you click on it, substituted by the resources. This way, you could not click on it again to hide the resources modifiers back, but I think that is fine.
All these are just my personal views, of course, so you should probably wait to see if anyone else shares them (could be that most don't see them).
What I meant is this:
Except that I think "All To" should, in this case, start as "Human", and become blank only when you change a Type to something else. As said, the "Resource Modifiers" would be "Resources Modifiers", and disappear when you click on it.
@Cernel So the resetting to blank when they are no longer all the same is a good idea. Moving it below doesn't work well for games that have a long list of nations and resource modifiers needs to stay above the column labels since it then displays column labels under it.
I would be curious mainly what others think about having the "All" above or below; it feels really out of place to me above, but maybe to most people it doesn't.
Just throwing this out there...
The idea being to consolidate player-specific "actions" under a popup menu to keep this screen from getting too busy.
@ssoloff I don't like this idea; a plurality of buttons to choose to assign to all or to some all the same feels redundant to me. I was actually fairly ok with the previous proposal, just mainly suggested to move the "All" from first to last line. But, again, let's see what others think. My suggestions were only adjustments, nothing major.
Also, to make more polished the "Alliance" column, I suggest having all buttons of the same wideness (that would be the wideness of the Alliance having the longer name) and maybe (not sure) removing the square parentheses.
Finally, take a look at "Feudal Japan", or any "Napoleonic Empires" FFA mods. Each player now has a small and pointless button. That button should better not be visible (in these cases, the alliances are not displayed for the players, in the stable).
Cernel Moderators last edited by Cernel
@ssoloff But, maybe, reformulating this proposal under one single action slot, you can have a single button (under all player options) with 3 options:
Assign To : "Single Player" / "Whole Alliance" / "All Players"
that defaults to "Single Player", and affects anything.
I mean like in my last image, but with "Assign To:" instead of "All To:", and "Single Player" as default in the selection right beside it.
Thus, if you change it to "Whole Alliance", all the players in the alliance of the one you, then, change to "Hard (AI)" will be turned to "Hard (AI)", or whatever, but will also have whatever resource modifiers, you set for a player in that alliance, which would also solve the problem of having to set many in big maps.
The "Whole Alliance" option should not be available for games having only single players alliances (like Feudal Japan), as it would be just the same as "Single Player".
This way, for example, you can select "All Players", then set "Hard (AI)", then set 125 in Income %, then select "Single Player", then select "Human", then cancel the bonus, if you want to play single player with all other players to "Hard (AI)" with 125 % Income.
Then, I would remove the button for sharing the selection through the whole alliance, bringing the "Alliance" column back to being there just for info, since that would be already well covered by the "Assign To" option. This would clean the screen a bit, as you would not have additional buttons where the alliances are noted and would keep pop-ups out of main screen (because, otherwise, you need a pop up to tell that clicking on an alliance set all to that player selection, or a new player can't dream about this behaviour).
If you, instead, want to keep the current alliance buttons, to click on, then my advice would be having them sharing also whatever set for the Resource Modifiers.
This is what I see in a mod of mine:
Also, if that slot would have only "Single Player", "Whole Alliance" and "All Players", or only "Single Player" and "All Players" for games having no actual alliances (like Civil War or a FFA), maybe better having it settable by just clicking; meaning that, if you are in "Single Player", you change to "Whole Alliance", clicking once, or "All Players", clicking twice; from "All Players", you would go to "Single Player", clicking once; etc..
@Cernel Yeah, it appears we need to add a check for nations that aren't in any alliance and not show the button. Other than that I'm pretty happy with where the current functionality is at and will probably release it to see how the general player base feels about it before making further changes.
I also think that the alliance-buttons are a bit problematic. I don’t mind an option to easily set a specific player to control all of an alliance, but the current system is maybe not the optimal.
My problem with it is that it is pretty non-intuitive what would happen if I press the alliance button. And guess what, when I press it (when the nation player is human), nothing happens It takes some fiddling around for the player to figure out how to use this feature.
What about an alternative solution to this feature. Maybe start by moving the “Set All To” to a place underneath the player list.
Then make a system that, when opening a map, generated a new button per alliance in the XML. If you opened a ww2 map it could be like:
Set All To: Human <
Set All Axis To: Human <
Set All Allies To: Human <
Set All Non-aligned To: Human <
Would this system not be really intuitive and easy to use? I don’t know how easy it would be for you to make though.
PS: This system of "Set All To" could really need a “Default” in between the Human and different AIs, so that players meant to be non-human can be identified. @Redrum Shall I make an official request or are you thinking of adding an option like that?
EDIT: I think maybe the "isHidden" will take care of this ... so forget what I asked.
@Frostion The challenge is some maps have many alliances. So that would work well for standard maps that have just 2 alliances. I do understand what you mean by intuitive though once you figure it out it does work nicely. I actually am looking to add a 'Default' option that would essentially reset all players to the default type defined in the game XML with the new player 'defaultType' parameter.
In 220.127.116.11.5786 the tooltip for the Alliance buttons always says something like "Set all [AntiRomanAlliance] to Human", no matter what type is actually selected and going to be set (I guess this should be considered a bug, but I'll report it here, instead of in GitHub).
Moreover, I suggest the "Alliance" column being simply absent when there are none (look at "Jurassic", for example; I think it would make more sense not to see that empty "Alliance" column).
Sorry for repeating, but since it has been some time, just to summarise some of my points, I still suggest:
- The Alliance buttons sharing also the set resource modifiers amongst that alliance, and change the tooltip to "Apply all player settings to all [AntiRomanAlliance] players" (I think this would be really handy, as you would like set Russians Fast (AI) and at 125 % Income, then simply click on its "[Allies]" button to have all Allies at the same).
- The Alliance buttons having all the same wideness as the wider ones (thus the [RomanAlliance] button being as wide as the [AntiRomanAlliance] button) (it starts feeling a bit unpolished to me when you have three or more alliances with the buttons of varying dimensions, look at "Greyhawk Wars") (this is really a small detail and only a preference, but I see that it already works this way only when the names are short enough, like "Axis" and "Allies" (the "Allies" button is not wider), thus I think it should be so all times, not only for short names).
@redrum I am really looking forward to a new release version of TripleA, plus a detailed instruction about how to upgrade maps to make use of any new XML options. I guess this will be described in an updated PoS2.xml, right?
And yes, the Alliance buttons seem to have a tool tip popup flaw. It always says "Set all (???) to Human", even when it is not human.
Just to be sure, "Set All To" does not influence hidden players at all, right? Of course it should not; I didn't test.
Nice addition the Default, but it is going to be redundant for over 90% of the games, having all default to Human, and this is how TripleA games are supposed normally to work.
I suggest when all the players in the game, but the hidden ones, are of a same Type, then that type is not availabe in "Set All To", but you have "Default (Type)".
For example, in over 90% maps you would not see "Default" and "Human" (doing the same), but a single "Default (Human)" choice.
Not a big deal, but I just don't like to see multiple options doing the same thing, especially when this is going to be the standard.